colas y filas en java

jeff1986

Bovino maduro
#1
ok hermanos bakunos tengo este problema
PHP:
package pruebapilas;
import java.io.*;

public class Main {

public static void main(String[] args) throws IOException 
{
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    
    int max=5;
    int pila[] = new int[max];
    int tope;
    int opc;
    int dato;
    
    tope=0;
    
    do 
    {
        opc=0;
    System.out.println("\n\n<<< PILAS >>>");
        System.out.println("1.-Push");
        System.out.println("2.-Pop");
        System.out.println("3.-Mostrar Pila");
        System.out.println("0.-Salir");
              
        System.out.print("Opcion? ---> ");
        opc = Integer.parseInt (br.readLine());
                
              
        if ( opc == 1)
        {    
            if (tope == max)
            {
                System.out.println("Pila llena !!!");
            }
            else
                {
                    dato=0;
                    System.out.println("\n\n<<< Adicionar >>>");
                    System.out.print("\nAnote el dato que desea insertar ---> ");
                    dato = Integer.parseInt (br.readLine());
             
                    pila[tope]=dato;
                    tope++;                    
                }
        }       
        
        if ( opc == 2)
        {    
            if (tope == 0)
            {
                System.out.println("Pila Vacia !!!");
            }
            else
                {
                    pila[tope-1]=0;
            tope--;
            System.out.println("Dato eliminado !!!");
                }
        }       
        
        if ( opc == 3)
        {    
            if (tope == 0)
            {
                System.out.println("Pila Vacia !!!");
            }
                
                System.out.println("\n\n<<< MOSTRAR LA PILA >>>");
        for(int i=0;i<tope;i++)
                    System.out.println("pila["+i+"]="+pila[i]);
                System.out.println("tope="+tope);  
        System.out.println("maximo="+max);
        }
    } while(opc!=0);
 }
}

lo q kiero es ver si alguien me da una idea de como pasar eso a colas
solo q me exlique como hacer q es lo q tengo que modificar o agregar

gracias hermanos bakunos!!!!!!!!
 
#2
No entiendo que quieres ya que en realidad una cola y una pila se hacen con LinkedList, a menos que uses el arreglo como una cola/lista de tamaño definido. Veo que estas usando netbeans, si pones

LinkedList pila = new LinkedList();

ya tienes los métodos pop y push definidos en el api de java y podrías hacer

pila.pop() o pila.push()

netbeans te dirá que hay que importar el java.util.LinkedList, si lo que quieres hacer, es programar el pop y el push, en google ya encuentras los ejemplos hechos
 
#3
Se me olvido decirte que si usas el linkedlist, tienes que definir el tipo, ya que sino lo haces e intentas sacar cosas para comparar o asignarlos a una variable, no lo va a hacer porque por default son tipo Object, para definir el tipo generico nada mas ponle

LinkedList<String> pila = new LinkedList<String>();
LinkedList<int> pila = new LinkedList<int>();

depende del tipo que quieras usar.
 
Arriba