Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Programación > Java


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 07-ene-2008, 16:21   #1
Colaborador
 
Fecha de Ingreso: septiembre-2006
Amigos 0
Mensajes: 572
Gracias: 0
Agradecido 5 veces en 4 mensajes.
Predeterminado Pilas en java

Hice este codigo para explicar el funcionamiento de las pilas en java , esta bastante sencillo el ejemplo es para tener una idea de las pilas talvez no sea muy funcional pero con unas simples modificaciones se puede hacer algo mucho mejor.


Código:
import java.io.*;


public class Pila{

 public static BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
 public static final int MAX_LENGTH = 5;
 public static String Pila[] = new String[MAX_LENGTH];
 public static int cima = -1;



  public static void main(String args[])throws IOException{


    Menu();

  }
  public static void Menu()throws IOException{

   System.out.println("\n\n\t\t\t=========Menu Manejo Pila=============");
   System.out.println("\t\t\t=                  =");
   System.out.println("\t\t\t= 1- Insertar elemento        =");
   System.out.println("\t\t\t= 2- Eliminar elemento        =");
   System.out.println("\t\t\t= 3- Buscar elemento         =");
   System.out.println("\t\t\t= 4- Imprimir pila          =");
   System.out.println("\t\t\t= 5- Actualizar valor en pila    =");
   System.out.println("\t\t\t= 6- Salir              =");
   System.out.println("\t\t\t======================================");
   System.out.print("\t\t\tOpcion: ");
   int op = Integer.parseInt(entrada.readLine());

   Opciones(op);


  }
  public static void Opciones(int op)throws IOException{

    switch(op){

			case 1: Insertar();
			    break;
			case 2: Eliminar();
			    break;
			case 3: Buscar();
			    break;
			case 4: Imprimir();
			    break;
			case 5: Actualizar();
			    break;
			case 6: System.exit(1);
			    break;
			default:Menu();
			    break;

	  }

  }
  public static void Insertar()throws IOException{


    System.out.print("\nDigite algo para la pila: ");
    String dato = entrada.readLine();
    Crear(dato);

  }
  public static void Crear(String dato)throws IOException{

   if ((Pila.length-1)==cima){
    System.out.println("Capacidad de la pila al limite\n\n\n");
    Imprimir();
   }else{
    ++cima;
    }

   Agregar(dato);

  }
  public static void Agregar(String dato)throws IOException{
   Pila[cima]=dato;
   Menu();
  }
  public static void Imprimir()throws IOException{

   for(int i=Pila.length-1;i>=0;i--){

	    System.out.println(Pila[i]);

   }
   Menu();
  }
  public static void Eliminar()throws IOException{

   if(cima== -1){

		 System.out.println("\n\n\nNo se puede eliminar, pila vacia !!!" );

   }else{

	   Pila[cima] = null;
	   --cima;

    }

   Menu();
  }
  public static void Buscar()throws IOException{

   System.out.println("\n\n\nDigite la cadena a buscar: ");
   String cad = entrada.readLine();

    for(int i=0;i<Pila.length-1;i++){

			if(cad.equals(Pila[i])){

				System.out.println("Elemento encontrado,posicion "+i);
				break;

		  }else{
		   	System.out.println("Elemento no encontrado :(");
	     }
	  }
	  Menu();
  }
  public static void Actualizar()throws IOException{

   System.out.print("Digite el nombre del valor que desea actualizar: ");
   String actual = entrada.readLine();
   System.out.print("Digite el nombre del nuevo valor: ");
   String nuevo = entrada.readLine();

       for(int i=0;i<Pila.length-1;i++){

	 			if(actual.equals(Pila[i])){

	        Pila[i]=nuevo;
	        break;
	 		  }else{
	 		   	System.out.println("Elemento no encontrado :(");
	 	     }
	  }

   Menu();
  }

}
  

Saludos.......... 8)
[p3ll3]
__________________
[size=10pt]Hackers are always pushing the boundaries, investigating the unknown, and evolving their art.[/size]<br />
Yoda está desconectado   Responder Citando
Antiguo 30-sep-2009, 04:56   #2
ivanricard
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: Pilas en java

ole p3ll3, gracias por el codigo.

seria ud tan amable de coolaborarme en uno parecido a este que punlicastes, pero de tal forma que me deje entrar por teclado; la cantidad de pilas que necesita el usuario, las capacidades de la pila que necesite el usuario, en que pila desea guardar, cuantos espacios le quedan libres a la pila donde se va a guardar, y obvio las mismas opciones de insertar, eliminar, buscar, imprimir la pila que se necesite ver y salir.

si seria tan amable y puedes tenerlo para hoy 30/09/2009. mi email es Prohibido colocar E-mail @hotmail.com
  Responder Citando
Antiguo 28-oct-2009, 14:28   #3
Recien llegado
 
Fecha de Ingreso: octubre-2009
Amigos 0
Mensajes: 1
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado Re: Pilas en java

hola amigo me preguntaba si me puedes facilitar algun manual o tutorial o si existen algunos aqui en el foro donde me explique paso a paso para que sirve cada linea por que hay alguna que no entiendo y ps apenas estoy empezando a programas en java desconosco muchas cosas, mil disculpas por las molestias y de antemano gracias
lordtlacoyo está desconectado   Responder Citando
Antiguo 31-oct-2009, 23:06   #4
Moderador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 4
Mensajes: 2.053
Gracias: 55
Agradecido 828 veces en 324 mensajes.
Predeterminado Re: Pilas en java

Cita:
Iniciado por lordtlacoyo
hola amigo me preguntaba si me puedes facilitar algun manual o tutorial o si existen algunos aqui en el foro donde me explique paso a paso para que sirve cada linea por que hay alguna que no entiendo y ps apenas estoy empezando a programas en java desconosco muchas cosas, mil disculpas por las molestias y de antemano gracias

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]


Última edición por Fashion; 17-mar-2010 a las 09:44
Fashion está desconectado   Responder Citando
Antiguo 10-mar-2010, 23:06   #5
Recien llegado
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 1
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado ejemplos pila: AYUDA

disculpa compañero de casualidad no tienes la aplicacion del metodo con main
es que tengo este codigo y necesito tener la aplicacion sobre como hacer leer un String con parentesis("{") en forma de pila. cuando uno sale el otro entra.
gracias.

Código:
public class Pila
{int tope=-1;
 int vec[];
 
   Pila(int max)
 	{vec=new int [max];
 	 }
	 
	public boolean llena()
 	{  if (tope==vec.length-1)
        	  return true;
  		
	else
		return false;
	}
	
	public boolean vacia()
	{if (tope==-1)
       return true;
	   
  		else
   			return false;
	
	}
	public void push(int dato)
	{
   		if (llena()== true)
        	        System.out.println("Overflow");
   		else
       		if (tope==-1)
       	        { 
	                tope=0;
                        vec[tope]=dato;
                }
                else
                {
                        tope++;
                        vec[tope]=dato;
                }                
	}      
	public int pop()
	{
  	      int aux;
  	      if (vacia()==true)
  	      {  
	                System.out.println("La pila esta vacia");
  		        return -1;
	      }
  	      else
  	      { 
	                aux=vec[tope];
    		        tope--;
 	      }
  		      return aux;
	      }  
        public void Imprime_Datos()
        { if(vacia()==true)
                { System.out.println("La pila esta vacia, ingrese datos primero:");
                }
                else                        
                for(int Contador=0;Contador<vec.length;Contador++)
             System.out.println("Los valores de la pila son:"+vec[Contador]);
        }
  

Última edición por Fashion; 17-mar-2010 a las 09:42
gibran_programador está desconectado   Responder Citando
Antiguo 14-may-2010, 04:19   #6
Recien llegado
 
Fecha de Ingreso: mayo-2010
Amigos 0
Mensajes: 12
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Wink

yo utilizaria la clase Stack que ya trae definida java

tan facil como hacer un import
Código:
import java.util.Stack;
  
y crear la pila

Código:
Stack pila=new Stack();
  
con su metodos.

Código:
boolean 

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

() :dice true si la pila esta vacia xD Object

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

() Devuelve el dato en la cima de la pila OJO.sin extraerlo de ella, solo lo muestra digamoslo. Object

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

() Devuelve el dato en la cima de la pila y lo remueve de ella Object

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

(

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

item) agrega un dato a la pila int

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

(

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

o) Regresa la posicion-1 del dato que le mandamos como parametro a buscar.
Y los metodos que hereda de la clase Vector
Código:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

y los que hereda de la clase generica u Object [la mama de los pollitos xD]
Código:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

,

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

en fin...para que reinventamos la rueda...jeje

aunke en el curso de Estructuras de Datos, tuvimos que diseñar Pilas,Colas, Listas Ligadas, Arboles, todo a mano, siempre es bueno saber las tripas y telarañas que encierran estas clases, asi que antes de meterte con ellas, hay que comprender de que y como estan hechas...Un Saludo desde Puebla. Mexico
3xcelente está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
AYUDA CON RECURSIVIDAD Y CLASES (PILAS Y COLAS) lemuur Carbide C/C#/C++ 2 08-dic-2009 12:23
Problema con las pilas anymierda Carbide C/C#/C++ 2 01-nov-2005 21:59
necesito ayuda con un programa en C de PILAS luishrg Carbide C/C#/C++ 4 17-oct-2005 20:08
Pilas, ejemplo para aprender..!! jaker_lolo Carbide C/C#/C++ 0 05-oct-2005 21:41
!!!''newbies''!!!ponganse las pilas che! shadowmaster Hack para newbies 14 02-dic-2004 19:00



Portal Hacker
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0