¿Qué significan apilar y apilar?
Imagínate un tubo de bambú de pequeño diámetro, abierto por un extremo y cerrado por el otro. Hay varias bolas numeradas, de diámetro ligeramente menor que el tubo de bambú. Ahora que ponemos bolas de diferentes números en el tubo de bambú, podemos encontrar una regla: la bola que se mete primero sólo se puede sacar después y, a la inversa, la bola que se mete en último lugar se puede sacar primero. Así pues, "el primero en entrar, el último en salir" es la característica de esta estructura.
La pila es una estructura de datos de este tipo. Significa abrir un área de almacenamiento en la memoria y los datos se almacenan en esta área uno por uno (es decir, "empujar"). Hay un puntero de dirección que siempre apunta a la unidad de datos donde se encuentran los últimos datos ingresados en la pila. El registro que almacena este puntero de dirección se llama puntero de pila. La ubicación donde se colocan los datos por primera vez se denomina "parte inferior de la pila". Los datos se almacenan uno por uno, este proceso se llama "push". Durante el proceso de inserción de la pila, cada vez que se inserta un dato en la pila, se coloca en la siguiente celda conectada a la celda anterior y la dirección en el puntero de la pila se incrementa automáticamente en 1. Al leer estos datos, los datos se leen de acuerdo con la dirección en el indicador de pila y el número de dirección en el indicador de pila se reduce automáticamente en 1. Este proceso se llama "expulsión". Esto implementa el principio de último en entrar, primero en salir.
La pila es la estructura de datos más utilizada en los ordenadores. Por ejemplo, las llamadas a funciones se implementan a través de la pila en las computadoras.
La pila se puede almacenar en una matriz o lista vinculada, que se presentará más adelante.
La siguiente es la definición de la estructura de la pila, incluido el puntero superior y la matriz de elementos de datos. Inicialmente, el puntero superior de la pila apunta a -1. Luego, cuando se almacenan los datos, el puntero superior de la pila aumenta en 1. Después de recuperar los datos, el puntero superior de la pila disminuye en 1.
#define MAX_SIZE 100
typedef int DATA _ TYPE
Pila de estructura
{
DATA_TYPE datos[ MAX_SIZE];
int superior
};