viernes, 12 de octubre de 2012

PILAS


Definición.
Una pila (stack en inglés) es una lista ordinal o estructura de datos que permite almacenar y recuperar datos.
Una pila representa una estructura lineal de datos en las que se puede agregar o quitar elementos unicamente por los dos extremos.
En consecuencia, los elementos de una pila se eliminan en orden inverso al que se insertaron. Las pilas son estructuras de datos lineales,
como los arreglos, ya que los componentes ocupan lugares sucesivos en la estructura y cada uno de ellos tiene un único sucesor y un único predecesor, con excepción del último y del primero, respectivamente.

Politica.
se le conoce como estructura LIFO (Last-Input, First-Output: el último en entrar es el primero en salir).

Elementos.
1.- Un vector que sera el contenedor de los elementos que deseamos agregar en la pila.
private Vector [] pila = new Vector[5];
2.- Un indice del vector al que llamaremos cima el cual apunta al ultimo elemento que esta en la pila considerando la politica de estas.
private int cima = 0;

Operaciones con pilas.
Pila vacia. Es un metodo que nos indica si la pila esta vacia.
Pila llena. Es un metodo que nos dice si la pila esta llena.
Push. Operación de la pila que nos permite agregar elementos en la misma.
Pop. Operación de las pilas que se usa para sacar elementos de la misma.

Algoritmo.

Pila llena.

private boolean pilaLlena(){
        if(cima==pila.length){
            return true;
        }else{
            return false;
        }
    }

Pila vacia.

private boolean pilaVacia(){
        if(cima<0){
            return true;
        }else{
            return false;
        }
    }

Push.

public void push(Vector v){
        if(pilaLlena()){
            System.out.println("Ya no puede agregar");
        }else{
            Vector[cima]=v;
            cima++;
        }
    }

Pop.

 public Vector pop(){
        Vector v = null;
        if(pilaVacia()){
            System.out.println("La pila esta vacia");
        }else{
            cima--;
            v=Vector[cima];
        }
        return v;
    }

Aplicaciones.

Las pilas son utilizadas ampliamente para solucionar una amplia variedad de problemas.
Se utiliza en compiladores, sistemas operativos y en programas de aplicación.


No hay comentarios:

Publicar un comentario