Java - Listas en java

   
Vista:

Listas en java

Publicado por Jorge (1 intervención) el 16/02/2011 06:29:19
tengo una aplicacion de una lista en java, pero en mi escuela solo me enseñaron kmo enlistar datos pero predeterminados, y me gustaria saber si se puede por ejemplo ingresarlos por teclado, con un menu, no se un ejemplo que si ingreso cualquier numero la opcion uno sea para enlistar, la dos poara desenlistar y la tres paran salir etc etc...les dejo el parte de mi aplicacion,,,
(ahh me enseñaron a ejecutar desde el CMD)
public class Lista
{
//Atributos
Nodo tope;

//Constructor
Lista ()
{
tope = null;
}

public void insertar (int dato)
{
//Crear nuevo nodo
Nodo nodo = new Nodo (dato);
//Apuntador actual=tope
Nodo actual = tope;
//Si la estructura está vacía
if (vacia())
//Insertar el primer nodo
tope=nodo;
else
//Si el nuevo nodo es menor al primer nodo de la estructura
if (nodo.dato<actual.dato)
//Insertar el nuevo nodo al inicio de la estructura
{
nodo.sig=actual;
tope=nodo;
}
//Si-no
else
//Mientras no sea el fin de la estructura
while (actual.sig!=null)
{
//Si el dato del siguiente nodo de la estructura es mayor que el nuevo nodo
if (actual.sig.dato>nodo.dato)
//Insertar el nuevo nodo
{
nodo.sig=actual.sig;
actual.sig=nodo;
break;
}
//Si-no
else
//Avanzar al siguiente nodo de la estructura
actual=actual.sig;
}
//Fin mientras
//Si el último nodo de la estructura apunta a null
if (actual.sig==null)
//El último nodo de la estructura apunta al nuevo nodo
actual.sig=nodo;
}

public void eliminar (int dato)
{
Nodo actual=tope;
Nodo temporal=tope;
if (!vacia())
{
if (actual.dato==dato)
{
tope=actual.sig;
temporal=null;
}
else
{
do
{
if (actual.sig.dato==dato)
{
temporal=actual.sig;
actual.sig=actual.sig.sig;
temporal.sig=null;
break;
}
actual=actual.sig;
} while (actual.sig!=null);
}
}
}

//EnListar
public void enlistar (int dato)
{
//Crear nuevo nodo
Nodo nodo = new Nodo (dato);
//Apuntador actual = tope
Nodo actual = tope;
//Si la Lista está vacía
if (vacia())
{
//Agregar el primer elemento a la Lista.
tope=nodo;
}
else
{
//Mientras no sea el fin de la Lista
while (actual.sig!=null)
{
//Avanzar
actual=actual.sig;
}
//Agrega el último elemento a la Lista
actual.sig=nodo;
}
}

//DesenListar
public void desenListar ()
{
//Si la Lista no está vacia
if (!vacia())
{
//Apuntador actual = topee
Nodo actual = tope;
//Si es el único nodo
if (actual.sig==null)
{
//Eliminar nodo
tope=null;
}
else
{
//Mientras no sea el último nodo
tope=tope.sig;
actual.sig=null;
}
}
}

//Obtener el último elemento
public int cima ()
{
Nodo actual=tope;

if (vacia())
return -1;
else
while (actual.sig!=null)
actual=actual.sig;
return actual.dato;
}

//Determinar si la Lista está vacía
public boolean vacia ()
{
return (tope==null)?true:false;
}

//Vacia la estructura
public void vaciar ()
{
tope=null;
}

//Estado de la Lista
public String toString ()
{
String cadena="tope->";
Nodo actual = tope;
while (actual!=null)
{
cadena+=actual.dato+"->";
actual=actual.sig;
}
return cadena+"null";
}


}

////////////////////////////////////////////////////////////////////////////////////////////////////////

import java.util.Scanner;
public class Aplicacion
{
public static void main (String args[])
{
Scanner teclado = new Scanner (System.in);

Lista lista= new Lista();
System.out.println (lista);

lista.enlistar(3);
lista.enlistar(6);
lista.enlistar(9);
lista.enlistar(12);
lista.enlistar(15);
System.out.println (lista);

lista.eliminar(3);System.out.println (lista);
lista.eliminar(9);System.out.println (lista);
lista.eliminar(15);System.out.println (lista);
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ricardo

RE:Listas en java

Publicado por Ricardo (2 intervenciones) el 17/02/2011 16:47:37
Hola Jorge Epero que estes bien, En la Clase Aplicacion puedes Hacer un Switch Case que tenga las opciones que mencionas, es decir que segun sea la opción ejemplo 1 - ingreso, 2 - Eliminar o como quieras organizarlo, algo como esto
import java.util.Scanner;
public class Aplicacion
{
public static void main (String args[])
{
Scanner teclado = new Scanner (System.in);


switch(teclado)
{

// 0 para enlistar
case 0:


Scanner enlista = new Scanner (System.in);

//aqui enlistas lo que te ingresen por teclado
lista.enlistar(enlista);

break;

// 1 para desEnlistar
case 1:

//aqui puedes preguntar que va a DesEnlistar
Scanner desEnlista = new Scanner (System.in);

lista.eliminar(desEnlista);


break;

}

}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar