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..
El éxito sólo se logra rompiéndote la madre,de otra manera serías un suertudo no una persona exitosa, Tener éxito en la vida no es llegar a tener fama,sino a realizar aquello que realmente deseas,Una persona no vale por sus éxitos, sino de las veces que se ha levantado de sus fracasos,Lo difícil no es tener éxito, lo difícil es conservarlo, La mejor venganza es el éxito, La fuerza de tu envidia es la rapidez de mi progreso.
gracias buen aporte, con este ejercicio he comprendido al fin la mecanica gracias de nuevo
ResponderEliminarGracias me haz salvado
ResponderEliminar