PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE AMBATO
ESCUELA DE INGENIERIA EN SISTEMAS
SEGUNDO SEMESTRE
ESTRUCTURA DE DATOS I
CÓDIGO PARA IMPLEMENTAR PILAS
/**
* @(#)ImplementarPilas.java
*
* Programa para la implementación básica de una pila como estructura estática
* implementada a través de un vector
* implementar ademas las operaciones insertar, extraer, vacia y llena
*
* @author
* @version 1.00 2013/3/7
*/
//ISERTAR LIBRERIAS
importjava.util.Scanner;
publicclassImplementarPilas
{
//DECLARAR LOS ELEMENTOS DE LA PILA COMO VARIABLES GLOBALES
//tope apunta simpre al ultimo elemento de la pila
publicstaticint tope=-1;
//MAX define el tamanomaximo de la pila
public static final int MAX=10;
//pila es una estructura de datos lineal y estatica
public static intpila[]=new int [MAX];
public static void main(String[] args)
{
Scanner leer = new Scanner (System.in);
System.out.println("nnttIMPLEMENTACION DE PILAS CON ARRAYSnn");
//VERIFICAR SI LA PILA ESTA LLENA
if(llena()==true)
{
System.out.println ("nttLa Pila estallena .......n");
}
else
{
System.out.println ("nttLa Pila NO estallena .......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 ("nttLa Pila esta vacia .......n");
}
else
{
System.out.println ("nttLa Pila NO esta vacia .......n");
}
//IMPRIMIR LOS ELEMENTO DE LA PILA
imprimir();
intop;
//INSERTAR VARIOS ELEMENTOS EN LA PILA
System.out.println ("nnttINSERTAR ELEMENTOSnn");
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 ("nttLa pila ya esta llena.....n");
}
}while(op==1 && (llena()==false));
//IMPRIMIR LOS VALORES INGRESADOS
imprimir();
//EXTRAER ELEMENTOS DE LA PILA
System.out.println ("nnttEXTRAER ELEMENTOSnn");
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 booleanvacia()
{
if (tope==-1)
{
return true;
}
else
{
return false;
}
}
//VERIFICAR SI LA PILA ESTA LLENA
public static booleanllena()
{
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("ntNo se puede insertar el valor .....la pila esta llenan");
}
else
{
tope++;
pila[tope]=valor;
}
}
//METODO PARA IMPRIMIR LOS ELEMENTOS DE LA PILA
publicstaticvoid imprimir()
{
int i;
System.out.println ("nnttELEMENTOS DE LA PILAnn");
//verificar si la pila esta vacia
if(vacia()==true)
{
System.out.println ("tNo existen elementos para imprimir, la pila esta
vacian");
}
else
{
for(i=0;i<=tope;i++)
{
System.out.println("Pila ["+i+"]: "+pila[i]);
}
}
}
//METODO PARA EXTRAER LOS ELEMENTOS DE LA PILA
public static intextraer()
{
intelem;
if(vacia()==true)
{
System.out.println ("nnttLa pila esta vacia ...n");
elem=0;
}
else
{
elem=pila[tope];
pila[tope]=0;
tope--;
}
returnelem;
}
}

Codigo para implementar pilas en java

  • 1.
    PONTIFICIA UNIVERSIDAD CATOLICADEL ECUADOR SEDE AMBATO ESCUELA DE INGENIERIA EN SISTEMAS SEGUNDO SEMESTRE ESTRUCTURA DE DATOS I CÓDIGO PARA IMPLEMENTAR PILAS /** * @(#)ImplementarPilas.java * * Programa para la implementación básica de una pila como estructura estática * implementada a través de un vector * implementar ademas las operaciones insertar, extraer, vacia y llena * * @author * @version 1.00 2013/3/7 */ //ISERTAR LIBRERIAS importjava.util.Scanner; publicclassImplementarPilas { //DECLARAR LOS ELEMENTOS DE LA PILA COMO VARIABLES GLOBALES //tope apunta simpre al ultimo elemento de la pila publicstaticint tope=-1; //MAX define el tamanomaximo de la pila
  • 2.
    public static finalint MAX=10; //pila es una estructura de datos lineal y estatica public static intpila[]=new int [MAX]; public static void main(String[] args) { Scanner leer = new Scanner (System.in); System.out.println("nnttIMPLEMENTACION DE PILAS CON ARRAYSnn"); //VERIFICAR SI LA PILA ESTA LLENA if(llena()==true) { System.out.println ("nttLa Pila estallena .......n"); } else { System.out.println ("nttLa Pila NO estallena .......n"); } //INSERTAR UN ELEMENTO int valor; System.out.print ("Ingrese el valor a insertar en la pila: "); valor = leer.nextInt();
  • 3.
    //LLAMADA LA METODOINSERTAR insertar(valor); //VERIFICAR SI LA PILA ESTA VACIA if(vacia()==true) { System.out.println ("nttLa Pila esta vacia .......n"); } else { System.out.println ("nttLa Pila NO esta vacia .......n"); } //IMPRIMIR LOS ELEMENTO DE LA PILA imprimir(); intop; //INSERTAR VARIOS ELEMENTOS EN LA PILA System.out.println ("nnttINSERTAR ELEMENTOSnn"); 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)
  • 4.
    { System.out.println ("nttLa pilaya esta llena.....n"); } }while(op==1 && (llena()==false)); //IMPRIMIR LOS VALORES INGRESADOS imprimir(); //EXTRAER ELEMENTOS DE LA PILA System.out.println ("nnttEXTRAER ELEMENTOSnn"); 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 booleanvacia() { if (tope==-1)
  • 5.
    { return true; } else { return false; } } //VERIFICARSI LA PILA ESTA LLENA public static booleanllena() { if(tope==MAX-1) { return true; } else { return false; } } //INSERTAR UN ELEMENTO EN LA PILA
  • 6.
    public static voidinsertar (int valor) { if(llena()==true) { System.out.println("ntNo se puede insertar el valor .....la pila esta llenan"); } else { tope++; pila[tope]=valor; } } //METODO PARA IMPRIMIR LOS ELEMENTOS DE LA PILA publicstaticvoid imprimir() { int i; System.out.println ("nnttELEMENTOS DE LA PILAnn"); //verificar si la pila esta vacia if(vacia()==true) { System.out.println ("tNo existen elementos para imprimir, la pila esta vacian"); } else
  • 7.
    { for(i=0;i<=tope;i++) { System.out.println("Pila ["+i+"]: "+pila[i]); } } } //METODOPARA EXTRAER LOS ELEMENTOS DE LA PILA public static intextraer() { intelem; if(vacia()==true) { System.out.println ("nnttLa pila esta vacia ...n"); elem=0; } else { elem=pila[tope]; pila[tope]=0; tope--; } returnelem; }
  • 8.