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);
}
}
(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


0