SlideShare una empresa de Scribd logo
1 de 12
ESTRUCTURA DE DATOS I
                        Pilas
PILAS
Definición:
Estructura de datos lineal donde los elementos
pueden ser añadidos o removidos solo por un
extremo.
Trabajan con filosofía LIFO (Last In- First Out ).

Ejemplos:
Pila de platos
Pila de discos
Pila de llamadas a funciones
Pila de recursión
Pila de resultados parciales de formulas aritméticas, etc.
OPERACIONES BASICAS CON PILAS

-PUSH (insertar).- Agrega un elementos a la pila en
  el extremo llamado tope.
-POP (remover).- Remueve el elemento de la pila
  que se encuentra en el extremo llamado tope.
-VACIA.- Indica si la pila contiene o no contiene
  elementos.
-LLENA.- Indica si es posible o no agregar nuevos
  elementos a la pila.
IMPLEMENTACION DE PILAS:
 Usando arreglos: Define un arreglo de una
 dimensión (vector) donde se almacenan los
 elementos.


            0   1    2   3   4   5



      TOPE: Apunta hacia el elemento que se
      encuentra en el extremo de la pila.
      (inicialmente es -1).
Ejemplo
                Insertar      Insertar      Insertar   Eliminar
                  A:            B:              C:     elemento
 Inicio:




                                                C

                                 B              B         B

                                 A              A         A
                    A

Tope       -1   Tope                     Tope          Tope
                             Tope
PILA EN ARREGLOS
Pila: Métodos en Java.
 Clase Pila
      class Pila
 Constructores
      Pila(int tamaño)
 Métodos
      boolean EstaVacia()
      boolean EstaLLena()
      void push(String dato)
      void pop()
Clase Pila
package pila_en_arreglos;

public class Pila {
  private int tamaño;
  private int top;
  private String arreglo[];

Constructor
  public Pila(int tamaño) {
    this.tamaño = tamaño;
    this.top = 0;
    this.arreglo = new String [tamaño];
  }
Métodos
Pila Vacía                    Pila Llena

public boolean EstaVacia(){   public boolean EstaLlena(){
      if(top==0){
          return true;        if(top==tamaño){
      }else{                          return true;
          return false;            }else{
      }
                                      return false;
  }
                                   }

                                }
Métodos
PUSH(Insertar)                   POP(Remover)
public void Push(String dato){   public void pop(){
     if(EstaLlena())
                                    if(EstaVacia()){
     {

  System.out.println("ERROR       System.out.println("ERR
  PILA LLENA");                   OR PILA VACIA");
     }else{
                                    } else{
       arreglo[top]=dato;
       top++;                          top--;
    }                               }
  }                               }
Métodos
Imprimir

public void imprimir(){
    if(EstaVacia())
        System.out.println("Error:pila vacía");
     else
        for(int i=0;i<top;i++)
          System.out.print(arreglo[i]+" ");
  }
Clase Main
package pila_en_arreglos;                     System.out.println();
                                                  p1.pop();
public class Main {                               p1.imprimir();
                                                  System.out.println();
  public static void main(String[] args) {        p1.pop();
    Pila p1 = new Pila(4);                        p1.imprimir();
                                                  System.out.println();
    p1.Push("a");                                 p1.pop();
    p1.Push("b");                                 p1.imprimir();
    p1.Push("c");                               }
    p1.Push("d");                            }
    p1.imprimir();
    System.out.println("POP");
    p1.pop();
    p1.imprimir();
Fin




      Autor:

               Geovanny Simbaña

Más contenido relacionado

Similar a Estructuradedatosipilas 101118211345-phpapp02

Similar a Estructuradedatosipilas 101118211345-phpapp02 (20)

Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Colas
ColasColas
Colas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Filas con listas doblemente enlazadas
Filas con listas doblemente enlazadasFilas con listas doblemente enlazadas
Filas con listas doblemente enlazadas
 
Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estatica
 
Poo 4 arraylist_implem
Poo 4 arraylist_implemPoo 4 arraylist_implem
Poo 4 arraylist_implem
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
2- TDA Listas
2- TDA Listas2- TDA Listas
2- TDA Listas
 
Pilas Struct
 Pilas Struct Pilas Struct
Pilas Struct
 
PILAS
PILASPILAS
PILAS
 
Pilas
PilasPilas
Pilas
 
Pilas en Estructura de Datos
Pilas en Estructura de DatosPilas en Estructura de Datos
Pilas en Estructura de Datos
 
Clase de los nodos de la pila
Clase de los nodos de la pilaClase de los nodos de la pila
Clase de los nodos de la pila
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
S6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colasS6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colas
 
PILAS
PILASPILAS
PILAS
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 

Estructuradedatosipilas 101118211345-phpapp02

  • 2. PILAS Definición: Estructura de datos lineal donde los elementos pueden ser añadidos o removidos solo por un extremo. Trabajan con filosofía LIFO (Last In- First Out ). Ejemplos: Pila de platos Pila de discos Pila de llamadas a funciones Pila de recursión Pila de resultados parciales de formulas aritméticas, etc.
  • 3. OPERACIONES BASICAS CON PILAS -PUSH (insertar).- Agrega un elementos a la pila en el extremo llamado tope. -POP (remover).- Remueve el elemento de la pila que se encuentra en el extremo llamado tope. -VACIA.- Indica si la pila contiene o no contiene elementos. -LLENA.- Indica si es posible o no agregar nuevos elementos a la pila.
  • 4. IMPLEMENTACION DE PILAS:  Usando arreglos: Define un arreglo de una dimensión (vector) donde se almacenan los elementos. 0 1 2 3 4 5 TOPE: Apunta hacia el elemento que se encuentra en el extremo de la pila. (inicialmente es -1).
  • 5. Ejemplo Insertar Insertar Insertar Eliminar A: B: C: elemento Inicio: C B B B A A A A Tope -1 Tope Tope Tope Tope
  • 6. PILA EN ARREGLOS Pila: Métodos en Java.  Clase Pila class Pila  Constructores Pila(int tamaño)  Métodos boolean EstaVacia() boolean EstaLLena() void push(String dato) void pop()
  • 7. Clase Pila package pila_en_arreglos; public class Pila { private int tamaño; private int top; private String arreglo[]; Constructor public Pila(int tamaño) { this.tamaño = tamaño; this.top = 0; this.arreglo = new String [tamaño]; }
  • 8. Métodos Pila Vacía Pila Llena public boolean EstaVacia(){ public boolean EstaLlena(){ if(top==0){ return true; if(top==tamaño){ }else{ return true; return false; }else{ } return false; } } }
  • 9. Métodos PUSH(Insertar) POP(Remover) public void Push(String dato){ public void pop(){ if(EstaLlena()) if(EstaVacia()){ { System.out.println("ERROR System.out.println("ERR PILA LLENA"); OR PILA VACIA"); }else{ } else{ arreglo[top]=dato; top++; top--; } } } }
  • 10. Métodos Imprimir public void imprimir(){ if(EstaVacia()) System.out.println("Error:pila vacía"); else for(int i=0;i<top;i++) System.out.print(arreglo[i]+" "); }
  • 11. Clase Main package pila_en_arreglos; System.out.println(); p1.pop(); public class Main { p1.imprimir(); System.out.println(); public static void main(String[] args) { p1.pop(); Pila p1 = new Pila(4); p1.imprimir(); System.out.println(); p1.Push("a"); p1.pop(); p1.Push("b"); p1.imprimir(); p1.Push("c"); } p1.Push("d"); } p1.imprimir(); System.out.println("POP"); p1.pop(); p1.imprimir();
  • 12. Fin Autor: Geovanny Simbaña