Cómo escribir un algoritmo de la pila de programas usando una matriz en C

La estructura de datos de la pila sigue la política LIFO, es decir, la política Último en entrar, primero en salir.

El orden en que se sacan los elementos de la pila es inverso al orden en que se empujaron.

Esta estructura de datos encuentra uso en: –

  1. Creación de una memoria virtual en tiempo de ejecución en calculadoras.
  2. Funciones de rehacer y deshacer en editores.
  3. Función de avance y retroceso en los navegadores web.

A continuación se muestra el algoritmo (que consiste en Pseudocódigo) que implementa los procedimientos básicos de esta estructura de datos.

// Procedimientos para implementar Stack
// Top se refiere al objeto más alto en la pila
// Si Top == 0, la pila está vacía.
// s se refiere a nuestra pila

STACK_EMPTY (s)
si s.top == 0
volver VERDADERO
de lo contrario, devuelve FALSO

EMPUJE (s, x)
s.Top = s.Top + 1 // primero aumentando el tamaño.
s [s.Top] = x; // Poniendo el objeto x en la parte superior.

POP (s)
si STACK_EMPTY (s) == VERDADERO
volver “ERROR”
más
s.Top = s.Top – 1 // Disminuyendo el tamaño
// para que Object no esté más en la pila
volver s [s.Top +1]
// devuelve el Objeto que está siendo expulsado.

El algoritmo anterior comienza a indexar desde 1;

Sin embargo, en C, la indexación de una matriz comienza desde 0. Por lo tanto, reemplace 0 del procedimiento stackEmpty con -1;

A continuación se muestra la implementación del código anterior en C.

Editar: Los siguientes son algunos enlaces útiles:

Estructura de datos de pila (Introducción y programa) – GeeksforGeeks

Lea esta publicación de blog en Pilas. Obtendrá sus respuestas allí. He explicado cómo funciona la pila, el algoritmo e incluso escribí el código.

En lugar de copiar el contenido aquí desde mi blog, me pareció mejor adjuntar el enlace 🙂

Visite este enlace Programa C para implementar una pila – Sanfoundry

tome una matriz y escriba algunos métodos para imponer el comportamiento de la pila …