Lecturas

Solo disponible en BuenasTareas
  • Páginas : 20 (4877 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de marzo de 2011
Leer documento completo
Vista previa del texto
Pila de ADT

objetivos

en este laboratorio que
- crear dos implementaciones del TAD de pila - una basada en una representaciónamplia de una pila y el otro basado en una representación de lista ligada.
- analizar las limitaciones del uso de una instrucción de asignación ordinaria para duplicar objetos frente a la utilización de un constructor copia o clonación de larepresentación listaligada de una pila.
- crear un programa que evalúa expresiones aritméticas en forma de sufijo.
- analizar el tipo de permutaciones se puede producir con una pila.

PANORAMA

muchas aplicaciones que utilizan una estructura de datos lineales no requieren la gama completa de las operaciones apoyadas bu el ADT lista. Aunque se puedendesarrollar estas aplicaciones con el ADT lista, losprogramas resultantes tienden aser algo cumberome e ineficiente. Un enfoque alternativo es definir nuevasDISPOSITIVOS datos lineal que establece un apoyo más limitado de operaciones.Al definir cuidadosamente TADs htese, puede producir ATD Tha satisfacer lasnecesidades de un diverso conjunto de aplicaciones, pero el rendimiento de las estructuras de datos que son más fáciles de aplicar - y con frecuenciason máseficientes - que el ADT lista.

La pila es un ejemplo de una estructura limitada de datos lineales. En una pila, loselementos están ordenados forma añadidas más recientemente (el "top"), como mínimo, el recientemente agregado (el "fondo "). Todas las inserciones yeliminaciones se realizan en la parte superior de la pila. Se utiliza el "empuje"operación para insertar un elemento en la pila yel "pop" operación para quitar elelemento de la pila más alta. Una secuencia de empujones y aparece se muestra a continuación.

Estas limitaciones en materia de inserción y supresión producir el "último en entrar,salir coquetea" (LIFO) el comportamiento que caracteriza a una pila. Aunque laestructura de pila de datos es en sentido estricto, se utiliza tan ampliamente por elsoftware de lossistemas que el apoyo a una primitiva pila es uno de los elementosbásicos de las arquitecturas más equipo.

Pila de ADT

Elementos

Los elementos en una pila de objetos son de tipo genérico.

Estructura

Por lo menos los elementos de pila son linealmente ordenado de añadidas más recientemente (el "top") hace poco agregado (el "fondo "). Los elementos se insertanen (empujado) yretirado de (caca) de la parte superior de la pila.

Constructores y su método de ayuda
  
   Pila ()
   Condición previa:
   Ninguno.
   Postcondición:
   Constructor por defecto. Pide la instalación, que crea una pila vacía y
   (si es necesario) asigna memoria suficiente para que una pila contiene
   DEF_MAX_STACK_SIZE
   (un valor constante) elementos.

   Stack (int size)
   Condición previa:   tamaño> 0.
   Postcondición:
   Constructor. Pide la instalación, que crea una pila vacía y (si es
necesario) asigna
   suficiente memoria para una pila que contiene elementos de tamaño.

   void setup (int size)
   Condición previa:
   tamaño> 0. Un método de ayuda para los constructores. Se declara privado
   ya que sólo la pila
   constructores deben llamar a este método.   Postcondición:
   Crea una pila vacía de un tamaño específico (en su caso), basado en el valor de
   tamaño de recibido de la constructora.

Métodos en la interfaz

   sin efecto de empuje (newElement Object)
   Condición previa:
   Pila no está llena y newElement no es nulo.
   Postcondición:
   NewElement Inserta en la parte superior de una chimenea.

   Objeto del pop ()   Preconditon:
   Pila no está vacía.
   Postcondición:
   Elimina el último elemento añadido ("de arriba") de una pila y lo devuelve.

   sin efecto claro ()
   Condición previa:
   Ninguno.
   Postcondición:
   Quita todos los elementos en una pila.

   estaVacio booleano ()
   Condición previa:
   Ninguno.
   Postcondición:
   Devuelve true si la pila está vacía. En caso...
tracking img