Podemos implementar la estructura de datos a través del lenguaje C. Hay varios tipos de estructura de datos disponible para almacenar y acceder a los datos de manera eficiente. Stack es uno de ellos.
Una pila es una versión modificada de Array. Podemos agregar o eliminar un elemento en el un extremo de la pila. Este fin está en el Arriba de la pila.
Stack es una forma especializada de manejar, almacenar, insertar, eliminar, acceder a los datos. Es de naturaleza abstracta.
Matriz y pila
Representación
Solo podemos acceder al último elemento insertado en la pila. Esta es la parte superior de la pila. Podemos insertar o quitar de la parte superior.
Esto se conoce como el último en Fast Out (LIFO) y el Fast in Last (Filo).
Implementación
La pila se puede implementar de la siguiente manera:
-> Array -> Array dinámica -> Lista de enlacesOperación
-> Push -> PopPush de algoritmo: Push (pila, superior, maxstk, elemento)
1. [La pila está llena]
Si superior == maxstkMostrar mensaje: Desbordamiento y regreso
2. Establecer Top = Top + 1
3. Establecer pila [superior] = elemento
4. Devolver
Algoritmo Pop: Pop (pila, superior, elemento)
1. [Elemento eliminado de la pila]
Si superior == -1Mostrar mensaje: Subflujo y regreso
2. Establecer elemento = pila [superior]
3. TOP: TOP -1
4. Devolver
Pila usando una matriz
Struct arraystackAquí, definimos un tipo de datos definido por el usuario llamado ArrayStack. Tiene tres miembros de datos llamados Top, Capacidad y un puntero llamado *Array.
Notación polaca
La notación polaca es escribir operadores de una expresión antes o después de su operando.
Formas de escritura:
Infix 2. Prefijo 3. Sufijo
Infijo
Los operadores se mantienen entre los dos operandos.
Ejemplo: A + B
Prefijo
Los operadores se mantienen antes de sus operandos.
Ejemplo: + A B
Sufijo
Los operadores se mantienen después de sus operandos.
Ejemplo: A B +
Convertir
1.
Infijo:2.
Infijo:3.
Infix :( A + B) / (C - D)Toda esta conversión se puede hacer usando pila. Ahora, queremos mostrar cómo se puede crear una pila y cómo se inserta el elemento o los datos. Los elementos se pueden quitar de la pila a través de la programación.
Ejemplo de programación
#incluirProducción:
Explicación
Como dijimos anteriormente, definimos un tipo de datos definido por el usuario llamado ArrayStack. Tiene tres miembros de datos llamados Top, Capacidad y una matriz de puntero. Luego, definimos una función llamada createstack donde pasamos un valor que se crea el bloque total de la matriz. La función MALLOC () crea esta matriz y devuelve la dirección a la pila de variables que es el tipo ArrayStack. La matriz de pila contiene la dirección de la matriz creada por la función malloc ().
A continuación, definimos otra función llamada Full () para verificar si la pila está llena o no.
Crear otra función llamada vacía para verificar si la pila está vacía.
Luego, definimos otra función llamada Push () donde insertamos los elementos uno por uno en la pila de un extremo llamado Top. Para insertar el elemento en la pila, primero verificamos si la pila está llena.
Luego, definimos otra función llamada pop () donde eliminamos los elementos uno por uno de la pila de un extremo llamado top. Para eliminar el elemento en la pila, primero verificamos si la pila está vacía.
Luego, dentro de la función Main (), escribimos el caso de conmutación para darle al usuario una opción de menú para seleccionar su elección si el elemento está insertado o eliminado en la pila.
Conclusión
Desde la discusión sobre la pila, hemos llegado a llegar a esta conclusión de que la pila es una estructura de datos bien definida que se utiliza para administrar los datos de manera estructural. Nuestra pila de vida diaria se implementa en varios campos para almacenar, insertar o eliminar elementos.