Estructura de datos I pilas

24,848
-1

Published on

Definicion de Pila,
implementacion Pila en Arreglo.

Published in: Education
4 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
24,848
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
775
Comments
4
Likes
3
Embeds 0
No embeds

No notes for slide

Estructura de datos I pilas

  1. 1. Pilas ESTRUCTURA DE DATOS I
  2. 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. 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. 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. 5. Inicio: Insertar A: Tope -1 Insertar B: Insertar C: Eliminar elemento Tope A A B Tope A B Tope C A B Tope Ejemplo
  6. 6. 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() PILA EN ARREGLOS
  7. 7. Clase Pila package pila_en_arreglos; public class Pila { private int tamaño; private int top; private String arreglo[]; public Pila(int tamaño) { this.tamaño = tamaño; this.top = 0; this.arreglo = new String [tamaño]; } Constructor
  8. 8. Pila Vacía public boolean EstaVacia(){ if(top==0){ return true; }else{ return false; } } public boolean EstaLlena(){ if(top==tamaño){ return true; }else{ return false; } } Métodos Pila Llena
  9. 9. PUSH(Insertar) public void Push(String dato){ if(EstaLlena()) { System.out.println("ERROR PILA LLENA"); }else{ arreglo[top]=dato; top++; } } public void pop(){ if(EstaVacia()){ System.out.println("ERR OR PILA VACIA"); } else{ top--; } } Métodos POP(Remover)
  10. 10. Métodos 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]+" "); } Imprimir
  11. 11. Clase Main package pila_en_arreglos; public class Main { public static void main(String[] args) { Pila p1 = new Pila(4); p1.Push("a"); p1.Push("b"); p1.Push("c"); p1.Push("d"); p1.imprimir(); System.out.println("POP"); p1.pop(); p1.imprimir(); System.out.println(); p1.pop(); p1.imprimir(); System.out.println(); p1.pop(); p1.imprimir(); System.out.println(); p1.pop(); p1.imprimir(); } }
  12. 12. Fin Autor: Geovanny Simbaña

×