Está en la página 1de 8

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE AMBATO ESCUELA DE INGENIERIA EN SISTEMAS

SEGUNDO SEMESTRE ESTRUCTURA DE DATOS I

CDIGO PARA IMPLEMENTAR PILAS /** * @(#)ImplementarPilas.java * * Programa para la implementacin bsica de una pila como estructura esttica * implementada a travs de un vector * implementar ademas las operaciones insertar, extraer, vacia y llena * * @author * @version 1.00 2013/3/7 */

//ISERTAR LIBRERIAS import java.util.Scanner;

public class ImplementarPilas { //DECLARAR LOS ELEMENTOS DE LA PILA COMO VARIABLES GLOBALES

//tope apunta simpre al ultimo elemento de la pila public static int tope=-1; //MAX define el tamano maximo de la pila

public static final int MAX=10; //pila es una estructura de datos lineal y estatica public static int pila[]=new int [MAX];

public static void main(String[] args) { Scanner leer = new Scanner (System.in);

System.out.println("\n\n\t\tIMPLEMENTACION DE PILAS CON ARRAYS\n\n");

//VERIFICAR SI LA PILA ESTA LLENA if(llena()==true) { System.out.println ("\n\t\tLa Pila esta llena .......\n"); } else { System.out.println ("\n\t\tLa Pila NO esta llena .......\n"); }

//INSERTAR UN ELEMENTO int valor; System.out.print ("Ingrese el valor a insertar en la pila: "); valor = leer.nextInt();

//LLAMADA LA METODO INSERTAR insertar(valor);

//VERIFICAR SI LA PILA ESTA VACIA if(vacia()==true) { System.out.println ("\n\t\tLa Pila esta vacia .......\n"); } else { System.out.println ("\n\t\tLa Pila NO esta vacia .......\n"); }

//IMPRIMIR LOS ELEMENTO DE LA PILA imprimir(); int op; //INSERTAR VARIOS ELEMENTOS EN LA PILA System.out.println ("\n\n\t\tINSERTAR ELEMENTOS\n\n"); do { System.out.print ("Ingrese el valor a insertar en la pila: "); valor = leer.nextInt(); insertar(valor); System.out.print ("\nDesea insertar otro elemento? <1/0>: "); op=leer.nextInt(); if(llena()==true)

{ System.out.println ("\n\t\tLa pila ya esta llena.....\n"); } }while(op==1 && (llena()==false)); //IMPRIMIR LOS VALORES INGRESADOS imprimir();

//EXTRAER ELEMENTOS DE LA PILA System.out.println ("\n\n\t\tEXTRAER ELEMENTOS\n\n"); do { System.out.println ("Valor que se extrajo de la pila: "+extraer()); System.out.println ("\nLa pila resultante es: "); imprimir(); }while(vacia()==false);

//IMPLEMENTAR LOS METODOS CON LAS OPERACIONES CON PILAS

//VERIFICAR SI LA PILA ESTA VACIA public static boolean vacia() { if (tope==-1)

{ return true; } else { return false; }

//VERIFICAR SI LA PILA ESTA LLENA

public static boolean llena() { if(tope==MAX-1) { return true; } else { return false; }

//INSERTAR UN ELEMENTO EN LA PILA

public static void insertar (int valor) { if(llena()==true) {

System.out.println("\n\tNo se puede insertar el valor ..... la pila esta llena\n"); } else { tope++; pila[tope]=valor; } }

//METODO PARA IMPRIMIR LOS ELEMENTOS DE LA PILA

public static void imprimir() { int i;

System.out.println ("\n\n\t\tELEMENTOS DE LA PILA\n\n"); //verificar si la pila esta vacia if(vacia()==true) { System.out.println ("\tNo existen elementos para imprimir, la pila esta vacia\n"); } else

{ for(i=0;i<=tope;i++) { System.out.println("Pila ["+i+"]: "+pila[i]); } }

//METODO PARA EXTRAER LOS ELEMENTOS DE LA PILA

public static int extraer() { int elem; if(vacia()==true) { System.out.println ("\n\n\t\tLa pila esta vacia ...\n"); elem=0; } else { elem=pila[tope]; pila[tope]=0; tope--; } return elem; }

También podría gustarte