Pilas - Itsp

Anuncio
Pilas
Estructura de Datos y Algoritmos
Mtr. Ing. Nancy López
Pilas
Pilas
• El TAD pila es un tipo especial de lista 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", respectivamente “apilar" y “desapilar".
• Las escrituras de datos siempre son inserciones
de nodos, y las lecturas siempre eliminan el nodo
leído.
• La lista (pila) tiene un comportamiento LIFO (Last
In First Out), el último en entrar es el primero en
salir.
Pilas
typedef struct nodo{
int valor;
struct nodo *siguiente;
}tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;
Pilas
Operaciones básicas:
• Push (apilar al principio)
• Pop (desapilar: leer y eliminar)
• Pila vacía (indica si la pila está vacía)
• Cima (muestra el último elemento insertado)
• Ver pila (muestra el contenido de toda la pila)
pNodo crearNodo(int);
pNodo crearNodo(int val)
{
pNodo aux=new tipoNodo;
if (aux)
{
aux->valor=val;
aux->siguiente=NULL;
return aux;
}
}
void apilar(Pila &, pNodo);
void apilar(Pila &pila, pNodo aux)
{
aux->siguiente = pila;
pila = aux;
}
//insertar al ppio.
pNodo desapilar(Pila &);
pNodo desapilar(Pila &p)
{
pNodo aux, dev=new tipoNodo;
aux=p;
if(!p)
return NULL;
dev->valor=p->valor;
p=p->siguiente;
delete(aux);
return dev;
}
pNodo cima(Pila );
pNodo cima(Pila pil)
{
return (pil);
}
Descargar