Foros del Web » Programación para mayores de 30 ;) » Java »

Pilas y Colas

Estas en el tema de Pilas y Colas en el foro de Java en Foros del Web. hola, tengo unas cuantas dudas para unos programitas que tengo hecho para unas tareas bueno les dejo primero los codigos para que vean Pilas: Código ...
  #1 (permalink)  
Antiguo 28/10/2012, 11:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Exclamación Pilas y Colas

hola, tengo unas cuantas dudas para unos programitas que tengo hecho para unas tareas

bueno les dejo primero los codigos para que vean

Pilas:

Código PHP:
import javax.swing.*;

public class 
pila
{
    
pila()
    {
    }
    
    
int vacia(int tope)
    {
        if (
tope==0)
        {
            
JOptionPane.showMessageDialog(null,"Pila Vacia");
            return (
1);
        }
        else
        {
            
JOptionPane.showMessageDialog(null,"Pila No Vacia");
            return (
0);
        }
    }

    
int llena(int topeint max)
    {
        if (
tope==max)
        {
            
JOptionPane.showMessageDialog(null,"Pila Llena");
            return (
1);
        }
        else
        {
            
JOptionPane.showMessageDialog(null,"Pila No Llena");
            return (
0);
        }
    }
    
    
int insertar(int vect[], int topeint datoint maxi)
    {
        
int cont;
        
int x;
        
x=llena(topemaxi);
        if(
x==1)
        {
            
JOptionPane.showMessageDialog(null,"Pila Llena, No Hay Inserccion");
            return (
maxi);
        }
        else
        {
            
tope++;
            
vect[tope]=dato;
            return (
tope);
    
        }
    }
    
    
int borrar (int vecto[], int topeint datuxint maxim)
    {
        
int aux;
        
aux=tope;
        
int v;
        
v=vacia(tope);
        if(
v==1)
        {
            
JOptionPane.showMessageDialog(null,"Pila Vacia, No Hay Borrado");
            return (
tope);
        }
        else
        {
            
//datux=vecto[ux];
            
vecto[aux]=0;
            
aux--;
            return (
aux);
        }
    }
    
    
void imprimir(int vec[],int max)
    {
String x="";
        for(
int ciclo=0;ciclo<max;ciclo++)
        {
            
x+="Posicion "+(ciclo+1)+"=[ "+vec[ciclo]+" ]\n";
        }
        
JOptionPane.showMessageDialog(null,"Mi Pila\n"+x);
    }
    
    public static 
void main (String[] args)
    {
        
pila obj = new pila();
        
int xuxa[]=new int [5];
        
int maximo=5;
        
int topesito =-1;
        
String auxmain;
        
int auxmain2;
        
int ciclo;
        for(
ciclo=0ciclo<maximociclo++)
        {
            
int datito=Integer.parseInt(JOptionPane.showInputDialog(null"Insertar Dato"));
            
topesito=obj.insertar(xuxatopesitodatitomaximo);
        }
        
obj.imprimir(xuxa,maximo);
        
        
auxmain=JOptionPane.showInputDialog(null"¿Desea Borrar Datos?\n Si o No");
        if(
auxmain.compareToIgnoreCase("si")==0)
        {
            
auxmain2=Integer.parseInt(JOptionPane.showInputDialog(null"¿Cuantos Datos Desea Borrar?"));
            for(
int ciclo2=0ciclo2<auxmain2ciclo2++)
            {
                
int borrador=Integer.parseInt(JOptionPane.showInputDialog(null"Dato a Borrar"));
                
topesito=obj.borrar(xuxatopesitoborradormaximo);
                
            }
            
obj.imprimir(xuxa,maximo);
                
        }
        else
        {
            
JOptionPane.showMessageDialog(null,"Proceso Terminado");
        }
    }
    

Colas:

Código PHP:
import javax.swing.*;

public class 
Colas
{
    
int ayuda=10;
    
int vec[] = new int[ayuda];
    
int frente=0;
    
int ultimo=-1;
    
    
void insertar()
    {    
        if(
ultimo==vec.length-1)
        {
            
JOptionPane.showMessageDialog(null,"Cola Llena");
        }
        else
        {
            
ultimo++;                
            
vec[ultimo]=Integer.parseInt(JOptionPane.showInputDialog(null,"introduce un dato"));
        }
    }
    
    
void borrar_frente()
    {
        if(
ultimo==-1)
        {
            
JOptionPane.showMessageDialog(null,"Cola Vacia");
        }
        else
        {
            
JOptionPane.showMessageDialog(null,"Se Borro El Dato: ( "+vec[frente]+" )");
            for(
int alfa=frente;alfa<ultimo;alfa++)
            {
                
vec[alfa]=vec[alfa+1];
            }
            
vec[ultimo]=0;
            
ultimo--;
        }
        
    }
    
    
void borrar_todo()
    {
        
frente=0;
        
ultimo=-1;
        
JOptionPane.showMessageDialog(null,"La Cola Ha Sido Completamente Eliminada:\n");
    }
    
    
void imprimir()
    {
        if(
ultimo==0)
        {
            
JOptionPane.showMessageDialog(null,"\nCola Vacia, No Hay Datos");
        }
        else
        {
            
String mostrar="";
            for(
int beta=frente;beta<=ultimo;beta++)
            {
                
mostrar=mostrar+vec[beta];
            }
            
JOptionPane.showMessageDialog(null,"El Primer Dato Es: "+vec[frente]);
            
JOptionPane.showMessageDialog(null,"El Ultimo Dato Es: "+vec[ultimo]);
            
JOptionPane.showMessageDialog(null,"Los Datos Son:\n"+mostrar);
        }
    }
    
    public static 
void main (String[] args)
    {
        
Colas obj = new Colas();
        
int ayudante=0;
        
int aux;
        
//aux=obj.ayuda;
        
        
while(ayudante!=5)
        {
            
ayudante=Integer.parseInt(JOptionPane.showInputDialog(null,
            
"1. Insertar dato\n"+" 2.Borrar Dato Inicial\n"+" 3.Borrar Toda La Cola\n"+"4. Mostrar Los Datos\n"+"\n" +
            
"5. Salir\n"+"\n" +
            
"Teclea el numero de la accion a relizar:"));
            
            switch(
ayudante)
            {
                case 
1:    obj.insertar();
                break;
                case 
2obj.borrar_frente();
                break;
                case 
3obj.borrar_todo();
                break;
                case 
4obj.imprimir();
                break;
                case 
5System.exit(0);
                break;
                default: 
JOptionPane.showMessageDialog(null,"No se realizo ninguna accion\nOpcion no valida");
                break;
            }
        }
    }


ahora mi duda es :

como puedo hacer para invertir los datos de ambos casos?

como puedo hacer para eliminar datos repetidos en ambos casos?

de antemano gracias por su ayuda
  #2 (permalink)  
Antiguo 28/10/2012, 12:41
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Pilas y Colas

Oe tio ... no se para que quieres hacer eso


Tal vez te lo pidieron en tu curos de estructura de datos..


Java ya tiene implementado PIlas y Colas

Revisa las estructura de datos que te da java ....


Espero te haya ayudado

Etiquetas: colas, pilas, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:12.