miércoles, 5 de octubre de 2011

COLAS DINAMICAS EN JAVA

HOLA AMIGOS AQUI DE NUEVO CON ESTE OTRO APORTE QUE SON LAS COLAS DINAMICAS EN JAVA QUE SON PARECIDAS A LA DE PILAS SOLO QUE EN ESTA SE VA ELIMINANDO DE ABAJO HACIA ARRIVA Y COMO ES DINAMICA SE PUEDEN CREAR CIENTOS DE DATOS SIN TOPE EL UNICO TOPE ES LA CAPACIDAD DE MEMORIA DE LA COMPU..... BUENO ES IGUAL SON 3 ARCHIVOS QUE SON LOS SIGUIENTES:

EL ARCHIVO NODOLISTACOLA:

///////////////GENERA NODOS PARA LISTAS DOBLES////////////////////

class NodoListaCola{
    ////3 campos
    Object info;
    NodoListaCola Izq;/////////////asi se declara para apuntar a un dato igual a ellos
    NodoListaCola Der;
   
    /////////////primer constructor/*/////////////////
    public NodoListaCola(Object Dato){
        this.info = Dato;
        this.Izq = null;
        this.Der = null;
    }
   
    /////////////////segundo constructor///////////////
    public NodoListaCola(NodoListaCola Izq, Object Dato){
        this.Izq = Izq;
        this.info = Dato;
        this.Der = null;
    }
}

EL ARCHIVO LISTACOLA:

///////////////////////////LISTA QUE MANIPULA A LOS PUNTEROSY METODOS /////////////

class ListaCola{
    //////PUNTEROS
    public NodoListaCola Primero,Ultimo,Nuevo,Aux,Pos,Ant;
   
    //////constructor
    public ListaCola(){
        Primero = Ultimo = Nuevo = Aux = Pos = Ant = null;
    }
    ////////////////////////INSERTAR COLA//////////
    public void insertarCola(Object dato){
        if(Primero==null){//////////1 caso(lista vacia)
        Primero = new NodoListaCola(dato);
        Ultimo = Primero;
        }
        else{
            Nuevo = new NodoListaCola(Ultimo, dato);
            Ultimo.Der = Nuevo;
            Ultimo = Nuevo;
        }despliegaListaCola();
    }
   
    ///////////////ELIMINAR COLA//////////////
    public void eliminarCola(){
        if(Primero==null){
            System.out.println ("lista vacia");
        }
        else{
        ///hacer cuatro casos
                if(Primero==Ultimo){//// 1 caso
                    Primero=Ultimo=null;
                }
                else {//2caso
                    Primero=Primero.Der;
                    Primero.Izq=null;
                }
           
        }despliegaListaCola();
    }
   
    ////////////////////DESPLEGAR LISTA DOBLE////////////////
    public  void despliegaListaCola(){
        Aux = Primero;
        System.out.println ("#########   LISTA COMPLETA   ###########");
        while (Aux != null) {
            System.out.println (Aux.info);
            Aux = Aux.Der;
        }
        System.out.println ("########################################");
    }



}

Y POR ULTIMO EL APPLISTACOLA:

import java.util.Scanner;
class AppListaCola{
    public static void main(String args[]){
        ListaCola lista = new ListaCola();
        Integer DatoB,DatoI;
        int opcion;
       
        //Inicializacion del teclado
        Scanner Teclado = new Scanner(System.in);
        do{
            System.out.println ("1) INSERTAR COLA");
            System.out.println ("2) ELIMINAR COLA");
            System.out.println ("3) DESPLEGAR LISTA");
            System.out.println ("4) SALIR");
            opcion = Teclado.nextInt();
            switch (opcion) {
                case 1: System.out.println ("Que dato quieres insertar en la Lista:  ");
                        DatoI = new Integer(Teclado.nextInt());
                        lista.insertarCola(DatoI);
                        break;
                case 2: lista.eliminarCola();
                        break;
                case 3: lista.despliegaListaCola();
                        break;
                case 4: System.out.println ("BYE....");
                        break;
                                   
                default :System.out.println ("\topcion no valida intenta de nuevo\n");
            }
        }while (opcion != 4);
    }
}

BUENO AMIGOS AQUI ESTAN LOS ARCHIVOS ESPERO Y LES GUSTEN COMENTEN...


PILAS DINAMICAS EN JAVA

AQUI LES TRAEGO UN NUEVO APORTE QUE SON LAS PILAS DINAMICAS EN JAVA A DIFERENCIA DE LAS ESTATICAS ESTAS NO TIENEN UN TOPE DE LLENADO POR LO CUAL PUEDEN CREAR CIENTOS DE DATOS E IGUAL DE ELIMINARLOS... BUENO ASI LES DEBEN DE QUEDAR LOS ARCHIVOS:

EL ARCHIVO NODOLISTAPILA:

///////////////GENERA NODOS PARA LISTAS DOBLES////////////////////

class NodoListaPila{
    ////3 campos
    Object info;
    NodoListaPila Izq;/////////////asi se declara para apuntar a un dato igual a ellos
    NodoListaPila Der;
   
    /////////////primer constructor/*/////////////////
    public NodoListaPila(Object Dato){
        this.info = Dato;
        this.Izq = null;
        this.Der = null;
    }
   
    /////////////////segundo constructor///////////////
    public NodoListaPila(NodoListaPila Izq, Object Dato){
        this.Izq = Izq;
        this.info = Dato;
        this.Der = null;
    }

}


EL OTRO ARCHIVO ES EL LISTAPILA:


///////////////////////////LISTA QUE MANIPULA A LOS PUNTEROSY METODOS /////////////

class ListaPila{
    //////PUNTEROS
    public NodoListaPila Primero,Ultimo,Nuevo,Aux,Pos,Ant;
  
    //////constructor
    public ListaPila(){
        Primero = Ultimo = Nuevo = Aux = Pos = Ant = null;
    }
    //////////////////PUSH////////////////
    public void insertarPush(Object dato){
        if(Primero==null){//////////1 caso(lista vacia)
        Primero = new NodoListaPila(dato);
        Ultimo = Primero;
        }
        else{
            Nuevo = new NodoListaPila(Ultimo, dato);
            Ultimo.Der = Nuevo;
            Ultimo = Nuevo;
        }despliegaListaPila();
    }

    ///////////////POP//////////////
    public void eliminarPop(){
        if(Primero==null){
            System.out.println ("lista vacia");
        }
        else{
        ///hacer cuatro casos
                if(Primero==Ultimo){//// 1 caso
                    Primero=Ultimo=null;
                }
                else {//2caso
                    Ultimo=Ultimo.Izq;
                    Ultimo.Der=null;
                }
          
        }despliegaListaPila();
    }
  
    ////////////////////DESPLEGAR LISTA DOBLE////////////////
    public  void despliegaListaPila(){
        Aux = Primero;
        System.out.println ("#########   LISTA COMPLETA   ###########");
        while (Aux != null) {
            System.out.println (Aux.info);
            Aux = Aux.Der;
        }
        System.out.println ("########################################");
    }
}


Y EL ULTIMO ARCHIVO APPLISTAPILA:

import java.util.Scanner;
class AppListaPila{
    public static void main(String args[]){
        ListaPila lista = new ListaPila();
        Integer DatoB,DatoI;
        int opcion;
       
        //Inicializacion del teclado
        Scanner Teclado = new Scanner(System.in);
        do{
            System.out.println ("1) PUSH");
            System.out.println ("2) POP");
            System.out.println ("3) DESPLEGAR LISTA");
            System.out.println ("4) SALIR");
            opcion = Teclado.nextInt();
            switch (opcion) {
                case 1: System.out.println ("Que dato quieres insertar en la Lista:  ");
                        DatoI = new Integer(Teclado.nextInt());
                        lista.insertarPush(DatoI);
                        break;
                case 2: lista.eliminarPop();
                        break;
                case 3: lista.despliegaListaPila();
                        break;
                case 4: System.out.println ("BYE....");
                        break;
                                   
                default :System.out.println ("\topcion no valida intenta de nuevo\n");
            }
        }while (opcion != 4);
    }
}

BUENO ESO ES TODO AMIGOS ESPERO Y LES SIRVA DE MUCHO....COMENTEN..


domingo, 2 de octubre de 2011

PILAS ESTATICAS EN JAVA

AQUI LES TENGO OTRO APORTE QUE NOS ENVIO NUESTRO AMIGO JUAN QUE SE TRATA DE LAS PILAS ESTATICAS EN JAVA BUENO NO LES DIGO MAS PORQUE EL CODIGO HABLA POR SI SOLO BUENO AQUI ESTA :

import java.util.Scanner;
  
public class Cola{
  
    public static int max = 5, tope = -1;
    public static int cola[]=new int[max];

    public static void main(String args[]){
        int DatoI;
        int opcion=0;
        Scanner Teclado = new Scanner(System.in);
        do{
            System.out.println ("///////////////////////");
            System.out.println ("Elige una opcion:");
            System.out.println ("1.Insertar dato");
            System.out.println ("2.Retirar dato");
            System.out.println ("3.Desplegar Pila");
            System.out.println ("4.Salir");
            opcion=Teclado.nextInt();
          
            switch(opcion){
                case 1: System.out.println ("Que dato deseas agregar:");
                        DatoI=Teclado.nextInt();
                        Push(DatoI);
                        System.out.print("\n");
                        break;
                case 2: Pop();
                        break;
                case 3: Desplegar();
                        break;              
            }  
          
        }while(opcion!=4);
    }    //Fin de Main
      
//---------- METODO PUSH (insertar dato) ------------------------------
  
    public static void Push(int DatoI){
        if(tope < max-1){
            tope++;
            cola[tope] = DatoI;
        }              
          
        else
            System.out.println ("\n¡¡Cola llena, no se puede agregar mas elementos!!\n");
    }//Fin del Metodo Push

//---------- METODO POP (retirar dato) --------------------------------
  
    public static void Pop(){
        if(tope > -1){
            System.out.println("Elemento que sale es: "+ cola[0]+"\n");
            for (int i = 0; i<tope; i++) {
                cola[i]=cola[(i+1)];
            }
        tope--;
        }
        else
        System.out.println("\n¡¡No hay mas elementos en cola!!\n");
    }//fin del Metodo POP  
      
//----------- Desplegar ----------------------------------------------

    public static void Desplegar(){
        System.out.println ("***** Elementos en Cola *****");
        for(int i=0; i<=tope; i++){
            System.out.print("\t"+cola[i]);
          
        }
        System.out.print("\n*****************************\n");
    }


}//fin de la clase Cola

AGRADESCANLE A JUAN POR EL APORTE....