Pilas con listas ligadas

Solo disponible en BuenasTareas
  • Páginas : 2 (483 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de enero de 2011
Leer documento completo
Vista previa del texto
Pilas
Una pila es una estructura de datos en la cual el acceso está limitado al elemento más recientemente insertado y solamente puede crecer y decrecer por uno de sus extremos.

Las pilas sedenominan también estructuras LIFO (Last-In-First-Out), porque su característica principal es que el último elemento en llegar es el primero en salir.

En todo momento, el único elemento visible de laestructura es el último que se colocó.
Se define el tope de la pila como el punto donde se encuentra dicho elemento.

En una pila, las tres operaciones naturales de insertar, eliminar y obtener eldato, se renombran por push, pop e info.

Interfaz

Como existen diferentes formas de implementar una Pila ( vectores, listas enlazadas ) la primera parte del diseño está constituida por ladeclaración de una interfaz, con las operaciones básicas.

interface Pila
{
void push(Object x);
void pop( ) throws Exception;
Object info( ) throws Exception;
boolean esVacia( );void vaciar( );
}

Métodos

push( x ) --> Inserta x
pop( ) --> Elimina el último elemento insertado
info( ) --> Retorna el último elemento insertadoesVacia( ) --> Retorna true si no existen elementos ; false en caso contrario
vaciar( ) --> Elimina todos los elementos

Implementación con Lista Enlazada

class Nodo
{
public Objectdato;
public Nodo siguiente;

public Nodo(Object elemento, Nodo sgte)
{
this.dato = elemento;
this.siguiente = sgte;
}
public Nodo(Object elemento){
this(elemento,null);
}
}
class PilaLi implements Pila
{
private Nodo tope;

public PilaLi( )
{
tope = null;
}

public boolean esVacia( )
{return tope == null;
}

public void vaciar( )
{
tope = null;
}

public void push(Object x)
{
tope = new Nodo(x,tope);
}

public...
tracking img