Uso del código fuente de la pila
#Incluir " stdlib.h "
#Definición OK 1
#Error de definición 0
#Definir desbordamiento-1
//#Definir EOF -1
#definir STACK_INIT_SIZE 10
#Definir incremento de pila 1000
# Definir MAXQSIZE 10
Static int I = 0;
typedef char ElemType
Nodo de pila de estructura Typedef //Construir pila
{
ElemType * base
ElemType * top
int tamaño de pila
} SqStack
ElemType InitStack(SqStack * S )//Inicializar pila
{
s-& gt; base =(tipo de elemento *)malloc(STACK _ INIT _ TAMAÑO * tamaño de(tipo de elemento) p >
if (!s-> base)
{
salir(desbordamiento);
}
s- >top = s->base;
s->stacksize = STACK_INIT_SIZE
REGRESAR OK;
}
elem escriba pila vacía (sq stack * s) // Determine si la pila está vacía.
{
if(S->top == S->base)
Regresar OK;
Otros p>
Error de retorno;
}
Elemtype push (sqstack * s, elem tipo e)//Operación de pila
{ p>
if(S->top-S->base>= S->tamaño de pila)
{
s-> ;base =(tipo de elemento *) realloc(S-> base, (S->tamaño de pila+incremento de pila)* sizeof(tipo de elemento));
if (!s-> ;base)
{
Salir(desbordamiento);
}
s-& gt; top = S-& gt; base+S->tamaño de pila
s->tamaño de pila+= incremento de pila;
}
* S->;top++ = e
Regresar OK;
}
Elemtype pop (sqstack * s, elemtype * e)//operación pop
{ p>
if(S->top = = S->base)
{
Error de retorno;
}
p>
* e = *- S-& gt; arriba;
//printf("%d\n ", e);
//return e;
}
Void ClearStack(SqStack *S)//Limpiar la pila.
{
s->top = S->base;
}
ElemType LineEdit(SqStack *S )/ /Compilación de texto
{
char ch, e, a[30]
int I
ch = getchar () ;
mientras(1)
{
Y (ch!='\n ')
{
Cambiar (canal)
{
Caso ' #': Pop (S, & ampe); // Cuando se encuentra "#", aparecen los primeros caracteres. .
Case "@":clear stack; break; //Encontré "@", por lo que los caracteres anteriores aparecieron.
Predeterminado: Push(S, ch); break; //Otros caracteres ingresan a la pila
}
ch = getchar();
}
I = 0;
Y (! Parte superior de la pila)
{
Pop. e);
a[i++]= e;
}
Printf("Resultado de salida del bucle:");
para (-I;i>= 0;i-)
{
printf("%c ", a[I]);
}
printf("\nIngrese algunos caracteres más:");
ClearStack
ch = getchar();
}
Devuelve 0;
}
int main(void)
{
sq stack S;
printf(" \ n \ t \ t \ tEste programa utiliza lenguaje C para demostrar la pila en la estructura de datos\ n \ n ");
Printf("\tDescripción: Primero ingrese varios caracteres en sucesión para inicializar la pila, terminando con un carácter de nueva línea \n ");
printf("\tSi el carácter de entrada contiene '#', el carácter anterior aparecerá,\n"). ;
printf(" \tSi el carácter de entrada contiene '@', ¡elimine (borre) todos los caracteres anteriores!\n");
printf("\tPrograma en sí Es así de simple ¡La única desventaja es que hay un bucle infinito de entrada y no hay una declaración final! \ n ");
printf(" \ tLo importante del programa es el valor, que se puede decir que es. el defecto del programa! \ n ");
printf(" \ t¡Te deseo éxito! \ n \ n ");
Printf("Por favor, introduce varios caracteres seguidos. para inicializar la pila (como: ABC):") ;
init stack(&s);
LineEdit(&s);
System("pause");
Devuelve 0;
}
Esto es casi suficiente. .
La llamada interfaz fácil de usar significa solicitar al usuario que ingrese algo. . .
De lo contrario, los usuarios no saben cómo ingresar ni cómo funcionará. .
La clave es la pronta declaración. . .
Dijeron que me había retirado temporalmente del mundo. .
He estado ocupado buscando trabajo recientemente. .
Pero mi amigo me encontró. .
Incluso si estás involucrado en JAVA, debes ayudar a tus amigos. . .
Aunque no aprendo muy bien las estructuras de datos. . .
Pero no lo he olvidado por completo. . oye oye. . .
¡Les deseo a mis amigos mucho éxito! ! !
Adiós.
Por cierto, se me olvidó decir una cosa. . .
Son sólo puntos. . . No siempre des todo a los demás. .
No fuiste tú quien preguntó esta vez y no preguntarás la próxima vez. .
Guárdalo para más tarde. .
Siempre que sea interesante. . .
A mi hermano todavía le importan esos puntos. .
Jeje. . . .