Está en la página 1de 11

Tipo de Dato Abstracto

Pila
<<
Tipo de dato abstracto
Concepto
El tipo de dato abstracto (TDA) está conformado por:

una estructura de datos


+
un comportamiento
Tipos de datos abstractos

LISTAS (List)

PILAS (Stack)

COLAS (Queue)

ÁRBOLES (Tree)

GRAFOS (Graph)
Pila o stack
Concepto
Es un tipo de dato abstracto (TDA) formada por una
colección ordenada de elementos homogéneos, dinámica,
cuyas inserciones y eliminaciones se realizan por un único
extremo llamado TOPE o CIMA.

PILA (LIFO) Último en entrar – Primero en salir


LAST IN – FIRST OUT
Implementación de Pilas
La implementación se puede hacer mediante:
● vectores
● archivos
● memoria dinámica (punteros)
TDA Pila gráficamente
Implementada sobre memoria dinámica
Declaración
CONST
P N = ...;

TYPE
P.tope T_DATO = ...;
T_PUNT = ^T_NODO;
P.tam 2
NIL
T_NODO = RECORD
INFO: T_DATO;
SIG: T_PUNT;
End;
T_PILA = RECORD
TOPE: T_PUNT;
TAMANIO: BYTE;
END;

VAR
P:T_PILA;
Operaciones
CREAR(P)
Inicializar la pila

APILAR(P, X)
Push: Da de alta un elemento a la pila.

DESAPILAR(P, X)
Pop: Elimina un elemento de la pila

TAMANIO(P)
Devuelve el tamaño de la pila

PILA_VACIA(P)
Comprueba si la pila está vacía (TAM = 0)

PILA_LLENA(P) Las mismas dadas


Comprueba si la PILA está llena () anteriormente
Procedure
CREAR(VAR P: T_PILA)

P.tope
P.tam
Procedure
APILAR(VAR P: T_PILA; X: T_DATO)

3 DIR
P.tope
P.tam 2
5 NIL
Procedure
DESAPILAR(VAR P: T_PILA; VAR X: T_DATO)

P.tope NIL 3
P.tam 0

DIR
Resolución TP13

Ejercicio 2
Ejercicio 3
Ejercicio 4

También podría gustarte