- En la implementacion del Stack ADT, en vez de que la data sea almacenada en cada uno de los nodos, el puntero a la data es almacenado.
- El programa aloca memoria para la data y la dirección es pasada al Stack ADT

- El nodo principal o el head node y los nodos de información son encapsulados en la ADT. La función llamada solo puede ver el puntero del Stack
- La estructura de la cabeza del Stack o el stack head contiene un puntero al mas alto y cuenta el numero de entradas actuales en el stack
//Stack ADT Type Definitions
typedef struct node
{
void *DataPtr;
struct node *link;
} StackNode;
typedef struct
{
int count;
StackNode *top;
} STACK;
Un Stack contiene elementos del mismo tipo ligados en una secuencia ordenada. Todas las operaciones tienen lugar en un solo final que es el top del stack y las operaciones siguientes se puede llevar acabo.
- push() – Inserta un elemento en un extremo del stack llamado top.
- pop() – Quita y retorna el elemento en el top del stack si este no esta vacío.
- peek() – Retorna el elemento en el top del stack sin removerlo, siempre que el stack no este vacío.
- size() – Retorna el numero de elementos en el stack.
- isEmpty() – Retorna verdadero si el stack esta vacío, de otra forma retorna falso.
- isFull() – Retorna verdadero si el stack esta lleno, de otra forma retorna falso.
Curso Práctico de Estructuras de Datos y Algoritmos
0 Comentarios
para escribir tu comentario