Pilas c++
Es un tipo especial de lista abierta en la que sólo se pueden insertar y eliminar nodos en uno de los extremos de la lista. Estas operaciones se conocen como "push" y "pop", "empujar" y "tirar". Además, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.
Comportamiento LIFO (Last Input First Output)
El comportamiento es de ultima entrada primera salida.
Declaración del Nodo Para la Pila
typedef struct _nodo { int dato; struct _nodo *siguiente; } tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Pila;
Operaciones básicas con pilas
n Push: Añadir un elemento al final de la pila. n Pop: Leer y eliminar un elemento del final de
la pilaPUSH insertar en pila vacía
El proceso es muy simple: 1. nodo>siguiente apunte a NULL. 2. Pila apunte a nodo.
PUSH insertar en Pila no vacía Se inicia con un nodo a insertar, con un apuntador que apunte a él, y de una pila, en este caso no vacía: El proceso es el siguientey sencillo: 1.Hacemos que nodo>siguiente apunte a Pila.
2.Hacemos que Pila apunte a nodo.POP leer y eliminar un elemento
Partiremos de una pila con uno o más nodos, y usaremos un apuntador auxiliar, nodo:
1 de 2
POP leer y eliminar un elemento
1. Hacemos que nodo apunte al primer elemento de la pila, es decir a Pila. 2. Asignamos a Pila la dirección del segundo nodo de la pila: Pila>siguiente. 3. Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación pop equivale a leer y borrar. 4. Liberamos la memoria asignada al primer nodo, el que queremos eliminar.
2 de 2
Algor itmo de la función PUSH
1. Se crea un nodo para el valor que se colocará en la pila. 2. Hacemos que nodo>siguiente apunte a Pila. 3. Hacemos que Pila apunte a nodo.
Código para PUSH en una pila
void Push(Pila *pila, int v) { ...
Regístrate para leer el documento completo.