Red de conocimiento informático - Conocimiento del nombre de dominio - Programación Qingguoqing

Programación Qingguoqing

Utilice la pila de cadenas para implementar el algoritmo, el código es el siguiente:

#Contiene "stdio.h"

#Contiene "stdlib.h"

typedef char ElemType

estructura typedef stnode

{

Datos de tipo de elemento;

struct stnode * next

}StNode, * LinkStack

int Huiwen (char str[])

{

int I = 0;

char ch

StNode *sl = NULL, * p;

mientras ((ch = str[i++])!= '\0')

{

p =(nodo ST *)malloc(sizeof(nodo ST));

p->; datos = ch

p->; p>

sl = p;

}

I = 0;

Y (sl!=null)

{

p = sl

ch = p->data;

sl = sl->siguiente;

gratis(p) ;

p>

Si (ch!= str[i++])

Devuelve 0;

}

Devuelve 1 ;

}

void main()

{

cadena de caracteres[20];

int hw

printf ("Ingrese una cadena:");

gets_s (cadena);

hw = Huiwen (cadena); if (hw) printf("La cadena es Huiwen.");

else printf("La cadena no es Huiwen.");

}

Datos extendidos

La característica de la pila es primero en entrar, último en salir, y el método de inserción del encabezado en la lista vinculada simplemente satisface nuestras necesidades. Debido a que el nodo insertado después del método de inserción del encabezado se encuentra al principio de la lista vinculada, podemos usar el método de inserción del encabezado para insertar el nodo. Al abrir el nodo, podemos abrir el primer nodo en la lista vinculada. El nodo es fácil de encontrar, por lo que nos resulta fácil implementar operaciones de inserción y extracción de pila.

La pila es una estructura de almacenamiento que implementa datos de "primero en entrar, último en salir" y se divide en pila estática y pila dinámica. La pila estática almacena datos en forma de matrices y la pila dinámica almacena datos en forma de listas vinculadas. Los algoritmos comúnmente utilizados para operaciones de pila incluyen stack push y stack top.

Creación de pila:

Antes de crear una estructura de datos, debemos saber en qué parámetros se compone la estructura de datos. Dado que la esencia de la pila es una lista enlazada, debe estar compuesta por muchos nodos. Para implementar la estructura de datos "FIFO", necesitamos introducir dos parámetros. Uno es el puntero superior de la pila (pTop), que siempre apunta a la parte superior de la pila. Un parámetro es el puntero inferior de la pila (PBOTOM), que siempre apunta a la parte inferior del elemento de la pila.

Sabemos que para facilitar la descripción de varias operaciones de la lista vinculada, se introduce el concepto de nodo principal, es decir, se agrega un nodo principal delante de cada lista vinculada, pero los datos válidos se almacena; de manera similar, para realizar la operación de la pila, también necesitamos un nodo que no almacene ningún dato válido, y el puntero en la parte inferior de la pila siempre apunta a este nodo.