Pilas
Estructura de Datos
Reporte de prácticaAutor: Daniel Gómez Marroquín
Horario: 11:00 a 12:00 am 14/10/2010 |
Diseño e Implementación del Tipo Abstracto de Datos-Pilas: Conjunto de Enteros.
I. Introducción
Una pila (stack) es una colección ordenada de elementos a los que sólo se puede acceder por un únicolugar o extremo de la pila. Los elementos de la pila se añaden o quitan (borran) de la misma sólo por su parte superior (cima) de la pila. Éste es el caso de una pila de platos, una pila de libros, etc.
Una pila es una estructura de datos de entradas ordenadas tales que solo se pueden introducir y eliminar por un extremo, llamado cima
Cuando se dice que la pila está ordenada, lo que se quieredecir es que hay un elemento al que se puede acceder primero (el que está encima de la pila), otro elemento al que se puede acceder en segundo lugar (justo el elemento que está debajo de la cima), un tercero, etc. No se requiere que las entradas se puedan comparar utilizando el operador «menor que» (<) y pueden ser de cualquier tipo.
Las entradas de la pila deben ser eliminadas en el ordeninverso al que se situaron en la misma. Por ejemplo, se puede crear una pila de libros, situando primero un diccionario, encima de él una enciclopedia y encima de ambos una novela de modo que la pila tendrá la novela en la parte superior.
Cuando se quitan los libros de la pila, primero debe quitarse el ultimo, luego el penúltimo y, así sucesivamente. Debido a supropiedad específica «último en entra6 primero en salir» se conoce a las pilas como estructura de datos LIFO (last-in, first-out). Las operaciones usuales en la pila son Insertar y Quitar. La operación Insertar (push) añade un elemento en la cima de la pila y la operación Quitar (pop) elimina o saca un elemento de la pila. El último elemento añadido a la pila es el primero que se quita de la pila.Especificaciones de una pila
Las operaciones que sirven para definir una pila y poder manipular su contenido son las siguientes (no
todas ellas se implementan al definir una pila).
* Tipo de dato Dato que se almacena en la pila.
* Insertar (push) Insertar un dato en la pila.
* Quitar (pop) Sacar (quitar) un dato de la pila
*Pila vacía Comprobar si la pila no tiene elementos.
* Pila llena Comprobar si la pila está llena de elementos.
* Limpiar pila Quitar todos sus elementos y dejar la pila vacía
* Tamaño de la pila Número de elementos máximo que puede contener la pila.
* Cima Obtiene el elemento cima dela pila.
II. Descripción del TAD-PILA Conjunto de Enteros
a. Nombre del TAD: CONJUNTO DE ENTEROS
b. Objeto del TAD
CONJUNTO DE ENTEROS-PILAS
Extraer
Pop
Extraer
Pop
Insertar
Push
Insertar
Push
| | 9 |
| | 8 |
| | 7 |
| | 6 |
| | 5 |
| | 4 |
| | 3 |
| 3 | 2 |
| 5 |1 |
| 8 | 0 |
CIMA
CIMA
Card
Card
Valores del Conjunto
Valores del Conjunto
Índice
Índice
El conjunto de enteros se implementa como un objeto que almacena los elementos del conjunto en un vector de MAX elementos enteros; numerados desde la posición (índice) cero hasta la posición MAX – 1.
La variable Card, indica el número de elementos que están almacenados enel Conjunto. Card es una variable de tipo entero.
III. Restricciones
1. El número máximo de elementos que pueden almacenarse en el conjunto es de MAX elementos.
2. Card >= 0 y Card <= MAX
3. MAX > 0
4. El siguiente elemento del conjunto se almacenará en la posición señalada por Card siempre que Card < MAX.
5. El total de elementos almacenados en el conjunto...
Regístrate para leer el documento completo.