Listas y colas

Páginas: 8 (1802 palabras) Publicado: 28 de enero de 2010
Algoritmos y Programación II.
Estructuras de Datos. Parte II.
PILAS y COLAS.
Pilas:
Una pila es una estructura de datos a la cual se puede acceder solo por un extremo de la misma. Las operaciones de inserción y extracción se realizan a través del tope, por lo cual no se puede acceder a cualquier elemento de la pila. Se la suele llamar estructura L.I.F.O. como acrónimo de las palabras inglesas"last in, first out" (último en entrar, primero en salir). La pila se considera un grupo ordenado de elementos, teniendo en cuenta que el orden de los mismos depende del tiempo que lleven "dentro" de la estructura.
Las pilas son frecuentemente utilizadas en el desarrollo de sistemas informáticos y software en general. Por ejemplo, el sistema de soporte en tiempo de compilación y ejecución delPascal utiliza una pila para llevar la cuenta de los parámetros de procedimientos y funciones, variables locales, globales y dinámicas. Este tipo de estructuras también son utilizadas para traducir expresiones aritméticas o cuando se quiere recordar una secuencia de acciones u objetos en el orden inverso del ocurrido.
Dada la definición teórica de una pila, podremos representar la misma en formagráfica como se ve en la figura:
La pila recién creada se encuentra 1 TOPE
vacía, el tope apunta a nil.
Se desean ingresar los elementos 5
1, 5 y 7 en ese orden.
7 nil
TOPE
El elemento '1' se ubica en (Se ve claramente como los elemento
el "fondo" de la pila, mien- 5 se ingresan por "arriba" y se van
tras que el siguiente, el '5', "apilando".)
se ubica "sobre" él. 1
nil
7 TOPE
Luego dedicha operación El tope apunta al elemento de
la pila puede representarse 5 "arriba", y el enlace se realiza
como en la figura. Así de- desde él hacia el "fondo".
cimos que se encuentra 1
"llena"
nil
Podemos de esta manera observar claramente que para obtener el elemento '5' que ingresamos anteriormente, al poder acceder únicamente a la pila por el tope (la parte "superior"), debemos retirarantes los elementos que se encuentren antes o "sobre" él. De ésta manera la acción de retirar elementos de la estructura podemos graficarla de la siguiente forma:
TOPE
Así, entonces, queda la elemento
pila al retirar los elementos 5 retirado
en forma secuencial. 7
1 nil
El tope apunta al siguiente del elemento retirado. Si se quiere continuar retirando los elementos que se ingresaron conanterioridad, la pila quedará completamente vacía, y se ve claramente como los elementos se van repitiendo en el orden inverso en que se habían ingresado. Finalmente, cuando la pila se encuentre vacía, el tope apuntará a nil.
5
TOPE se retiran los elementos
1 en forma secuencial.
nil
7
elemento retirado
Ahora bien, una vez conocido el comportamiento de las pilas veremos como se definen lasmismas y su forma de manejo, o "comportamiento" de la pila.
Definición dinámica de una pila:
Las operaciones que definen el comportamiento de una pila o primitivas son las siguientes:
• Crear pila.
• Insertar elemento.
• Retirar elemento.
• Pila vacía.
• Vaciar pila.
La definición junto con la implementación de éste tipo de estructura, es conveniente realizarlas en una unidad debiblioteca, de este modo se mantiene el nivel de abstracción de la estructura.
Unit Pilas;
Interface
type
tipo_dato = ;
tptr_nodo_pila = ^tnodo_pila
tnodo_pila = record
dato : tipo_dato;
enlace : tptr_nodo_pila;
end;
{encabezamiento de las primitivas que utilizaremos en el tipo de dato PILA}
Procedure Pila_crear (var pila : tptr_nodo_pila);
{Pre: La pila nunca fue creada.
Post: Se creo lapila y se encuentra vacía}
Procedure Pila_insertar (var pila : tptr_nodo_pila; elem : tipo_dato; var error : boolean);
{Pre: La pila existe.
Post: Si error = false el elemento fue ingresado en el tope de la pila, si error = true no se ha ingresado el elemento, la pila se encuentra llena}
Procedure Pila_retirar (var pila : tptr_nodo_pila; var elem : tipo_dato);
{Pre:La pila fue creada y no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lista De Ejercicios Pilas Y Colas
  • Pilas-Colas-Listas Java
  • Pilas, colas y listas
  • Lista De Ejercicios Pilas Y Colas
  • Pilas Listas Colas Y Arboles
  • Listas, pilas y colas: c#
  • Guias De Ejercicios (Lista Pila Y Cola)
  • Introduccion Y Conclusion De Lista Pilas Colas Arboles

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS