Вы находитесь на странице: 1из 11

PILAS

QU ES UNA PILA?

Una pila es una versin restringida de una lista enlazada; pueden agregarse y eliminarse nuevos nodos en una pila solamente desde su parte superior.

Nota: Una lista no tiene que implementarse mediante el uso de una lista enlazada.

A una pila se le conoce como estructura de datos UEPS (Ultimo en Entrar, Primero en Salir).
El miembro de enlace en el nodo inferior (es decir, el ltimo) de la pila se establece en null para indicar el fondo de la pila (o el primer elemento en salir).

Object objetoEliminado = null;

MTODOS BSICOS

Los mtodos bsicos para manipular una lista son : push (empujar) pop (sacar)

MTODO PUSH

Este mtodo agrega un nuevo nodo a la parte superior de la pila .

public void push( Object objeto ) { insertarAlFrente( objeto ) }

MTODO POP

Este mtodo elimina un nodo de la parte superior de la pila y devuelve los datos del nodo que se quit.

Public Object pop() throws ExcepcionListaVacia { return eliminarDelFrente(); }

APLICACIONES INTERESANTES DE LAS PILAS

Cuando un programa llama a un mtodo, el mtodo llamada debe saber cmo regresar a su invocador, por lo que la direccin de retorno del mtodo que hizo la llamada se mete en la pila de ejecucin del programa.

Si ocurre una serie de llamadas a mtodos, las direcciones de retorno sucesivas se meten en la pila en el orden ultimo en entrar, primero en salir, para que cada mtodo pueda regresar a su invocador.

Las pilas soportan llamadas recursivas a mtodos de la misma manera que para las llamadas no recursivas convencionales.

La pila de ejecucin del programa tambin contiene la memoria para las variables locales en cada invocacin de un mtodo, durante la ejecucin de un programa.

Cuando el mtodo regresa a su invocador, la memoria para las variables locales de ese mtodo se saca de la pila y esas variables dejan de ser conocidas por el programa.

Si la variable local es una referencia, la cuenta de referencias para el objeto al que se refiere se decrementa en 1. Si la cuenta de referencias se vuelve cero, el objeto puede ser candidato para la recoleccin de basura.

Los compiladores utilizan pilas para evaluar expresiones aritmticas y generar cdigo en lenguaje mquina para procesar las expresiones.

Ahora veamos un ejemplo:

Вам также может понравиться