You are on page 1of 3

ESTRUCTURA DE DATOS DINAMICOS

1.- PILAS (Stack)

1.1.- Definicin
Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el
modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out,
ltimo en entrar, primero en salir) que permite almacenar y recuperar datos.
Para el manejo de los datos se cuenta con dos operaciones bsicas: apilar (push),
que coloca un objeto en la pila, y su operacin inversa, retirar (o desapilar, pop),
que retira el ltimo elemento apilado.
En cada momento slo se tiene acceso a la parte superior de la pila, es decir, al
ltimo objeto apilado (denominado TOS, Top of Stack en ingls). La operacin
retirar permite la obtencin de este elemento, que es retirado de la pila
permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el
nuevo TOS.
Por analoga con objetos cotidianos, una operacin apilar equivaldra a colocar un
plato sobre una pila de platos, y una operacin retirar a retirarlo.
1.2.- Operaciones bsicas
Una pila cuenta con 2 operaciones imprescindibles: apilar y desapilar, a las que
en las implementaciones modernas de las pilas se suelen aadir ms de uso
habitual.

Crear: se crea la pila vaca. (constructor)

Tamao: regresa el nmero de elementos de la pila. (size)


Apilar: se aade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vaca: devuelve cierto si la pila est vaca o falso en caso contrario (empty).

1.3.- Operaciones con Visual Basic

Crear: se crea la pila vaca. (Dim pila = New Stack)


Tamao: regresa el nmero de elementos de la pila.(count)
Apilar: se aade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que est en la cima de la pila.(peek)

2.- Algoritmo de una pila


2.1.- Diagrama de flujo
Modulo Principal

Mdulo llenar_pila

Mdulo mostrar_pila

2.2.- Pseudocodigo
procedimiento main()
Declaracin de variables locales
P: Estructura de dato Pila
inicio
P=Crear Nueva Pila //Creacin de una pila
Llamar a procedimiento llenar_pila(P)
Llamar a procedimiento mostrar_pila(P)
fin
fin procedimiento
procedimiento llenar_pila(P: Estructura de dato Pila)
Declaracin de variables locales
n,i: tipo entero
elemento: Tipo cadena
inicio
leer(n) //Cantidad de elementos de la pila
desde i0; hasta i<n; ii+1 hacer
leer(elemento) // Leer por teclado el elemento o dato
P.Apilar(elemento)
fin desde
fin
fin procedimiento
procedimiento mostrar_pila(P: Estructura de dato Pila)
Declaracin de variables locales
inicio
mientras P.tamao <> 0 hacer
mostrar(P.Cima) //Muestra el elemento de la cima
P.Desapilar //Quita un elemento de la pila
fin mientras
fin
fin procedimiento

You might also like