Ayuda Listas Enlazadas en Applet
Buenas a toda la comunidad
pues quisiera ver si me pudieran ayudar con esto me pidieron en la universidad que implementaramos las funciones de las listas enlazadas osease
insertar (al inicio y al final)
eliminar (al inicio y al final)
buscar
ordenar
ya las tengo implementadas pero ahora nos pidio que estas funciones las pongamos en un applet (con botones y todo eso) el codigo que tengo es el siguiente quisiera ver si me pudieran ayudar con las adapataciones a un applet
espero me puedan ayudar y de antemano gracias
public class NodoListaTotal {
//Object datos;
int datos;
NodoListaTotal siguienteNodo;
//NodoLista(Object objeto){
NodoListaTotal(int objeto){
this(objeto, null);
}
//NodoLista(Object objeto, NodoLista nodo){
NodoListaTotal(int objeto, NodoListaTotal nodo){
datos=objeto;
siguienteNodo=nodo;
}
//Object obtenerObject(){
int obtenerObject(){
return datos;
}
NodoListaTotal obtenerSiguiente(){
return siguienteNodo;
}
private NodoListaTotal primerNodo;
private NodoListaTotal ultimoNodo;
private String nombre;
public NodoListaTotal(){
this("lista");
}
public NodoListaTotal(String nombreLista){
nombre=nombreLista;
primerNodo=ultimoNodo=null;
}
public void insertarAlFrente(int elementoInsertar){
if(estaVacia())
primerNodo=ultimoNodo=new NodoListaTotal(elementoInsertar);
else
primerNodo=new NodoListaTotal(elementoInsertar, primerNodo);
}
public void insertarAlFinal(int elementoInsertar){
if(estaVacia())
primerNodo=ultimoNodo=new NodoListaTotal(elementoInsertar);
else
ultimoNodo=ultimoNodo.siguienteNodo=new NodoListaTotal(elementoInsertar);
}
public int eliminarDelFrente() throws ExcepcionListaVacia{
if(estaVacia())
throw new ExcepcionListaVacia(nombre);
//Object elementoEliminado=primerNodo.datos;
int elementoEliminado=primerNodo.datos;
if(primerNodo==ultimoNodo)
primerNodo=ultimoNodo=null;
else
primerNodo=primerNodo.siguienteNodo;
return elementoEliminado;
}
public int eliminarDelFinal() throws ExcepcionListaVacia{
if(estaVacia())
throw new ExcepcionListaVacia(nombre);
//Object elementoEliminado=ultimoNodo.datos;
int elementoEliminado=ultimoNodo.datos;
if(primerNodo==ultimoNodo)
primerNodo=ultimoNodo=null;
else{
NodoListaTotal actual=primerNodo;
while(actual.siguienteNodo!=ultimoNodo)
actual=actual.siguienteNodo;
ultimoNodo=actual;
actual.siguienteNodo=null;
}
return elementoEliminado;
}
public boolean estaVacia(){
return primerNodo==null;
}
public void imprimir(){
if(estaVacia()){
System.out.printf("%s vacia\n",nombre);
return;
}
System.out.printf("La %s es: ",nombre);
NodoListaTotal actual=primerNodo;
while(actual!=null){
System.out.printf("%s -> ",actual.datos);
actual=actual.siguienteNodo;
}
System.out.printf("\n");
}
public void busca(int elementoBuscar){
if(estaVacia()){
System.out.printf("%s vacia\n",nombre);
}
NodoListaTotal actual;
for(actual=primerNodo;actual!=null;actual=actual.siguienteNodo){
if(elementoBuscar==actual.datos)
System.out.printf("%s se encuentra en la lista\n",actual.datos);
}
}
public void ordenar(){
NodoListaTotal actual=primerNodo;
Burbuja(actual);
}
public void Burbuja(NodoListaTotal cambio){
NodoListaTotal cambio2;
int aux;
for(cambio=primerNodo;cambio!=null;cambio=cambio.siguienteNodo){
for(cambio2=cambio.siguienteNodo;cambio2!=null;cambio2=cambio2.siguienteNodo){
if(cambio2.datos<cambio.datos){
aux=cambio2.datos;
cambio2.datos=cambio.datos;
cambio.datos=aux;
}
}
}
}
public static void main(String []args){
Lista lista=new Lista();
lista.insertarAlFinal(9);
lista.insertarAlFinal(11);
lista.insertarAlFinal(3);
lista.imprimir();
lista.ordenar();
lista.busca(3);
lista.imprimir();
}
}
//Object datos;
int datos;
NodoListaTotal siguienteNodo;
//NodoLista(Object objeto){
NodoListaTotal(int objeto){
this(objeto, null);
}
//NodoLista(Object objeto, NodoLista nodo){
NodoListaTotal(int objeto, NodoListaTotal nodo){
datos=objeto;
siguienteNodo=nodo;
}
//Object obtenerObject(){
int obtenerObject(){
return datos;
}
NodoListaTotal obtenerSiguiente(){
return siguienteNodo;
}
private NodoListaTotal primerNodo;
private NodoListaTotal ultimoNodo;
private String nombre;
public NodoListaTotal(){
this("lista");
}
public NodoListaTotal(String nombreLista){
nombre=nombreLista;
primerNodo=ultimoNodo=null;
}
public void insertarAlFrente(int elementoInsertar){
if(estaVacia())
primerNodo=ultimoNodo=new NodoListaTotal(elementoInsertar);
else
primerNodo=new NodoListaTotal(elementoInsertar, primerNodo);
}
public void insertarAlFinal(int elementoInsertar){
if(estaVacia())
primerNodo=ultimoNodo=new NodoListaTotal(elementoInsertar);
else
ultimoNodo=ultimoNodo.siguienteNodo=new NodoListaTotal(elementoInsertar);
}
public int eliminarDelFrente() throws ExcepcionListaVacia{
if(estaVacia())
throw new ExcepcionListaVacia(nombre);
//Object elementoEliminado=primerNodo.datos;
int elementoEliminado=primerNodo.datos;
if(primerNodo==ultimoNodo)
primerNodo=ultimoNodo=null;
else
primerNodo=primerNodo.siguienteNodo;
return elementoEliminado;
}
public int eliminarDelFinal() throws ExcepcionListaVacia{
if(estaVacia())
throw new ExcepcionListaVacia(nombre);
//Object elementoEliminado=ultimoNodo.datos;
int elementoEliminado=ultimoNodo.datos;
if(primerNodo==ultimoNodo)
primerNodo=ultimoNodo=null;
else{
NodoListaTotal actual=primerNodo;
while(actual.siguienteNodo!=ultimoNodo)
actual=actual.siguienteNodo;
ultimoNodo=actual;
actual.siguienteNodo=null;
}
return elementoEliminado;
}
public boolean estaVacia(){
return primerNodo==null;
}
public void imprimir(){
if(estaVacia()){
System.out.printf("%s vacia\n",nombre);
return;
}
System.out.printf("La %s es: ",nombre);
NodoListaTotal actual=primerNodo;
while(actual!=null){
System.out.printf("%s -> ",actual.datos);
actual=actual.siguienteNodo;
}
System.out.printf("\n");
}
public void busca(int elementoBuscar){
if(estaVacia()){
System.out.printf("%s vacia\n",nombre);
}
NodoListaTotal actual;
for(actual=primerNodo;actual!=null;actual=actual.siguienteNodo){
if(elementoBuscar==actual.datos)
System.out.printf("%s se encuentra en la lista\n",actual.datos);
}
}
public void ordenar(){
NodoListaTotal actual=primerNodo;
Burbuja(actual);
}
public void Burbuja(NodoListaTotal cambio){
NodoListaTotal cambio2;
int aux;
for(cambio=primerNodo;cambio!=null;cambio=cambio.siguienteNodo){
for(cambio2=cambio.siguienteNodo;cambio2!=null;cambio2=cambio2.siguienteNodo){
if(cambio2.datos<cambio.datos){
aux=cambio2.datos;
cambio2.datos=cambio.datos;
cambio.datos=aux;
}
}
}
}
public static void main(String []args){
Lista lista=new Lista();
lista.insertarAlFinal(9);
lista.insertarAlFinal(11);
lista.insertarAlFinal(3);
lista.imprimir();
lista.ordenar();
lista.busca(3);
lista.imprimir();
}
}
- Inicie sesión o regístrese para enviar comentarios
Terminado
bueno pues solo para comentarles que ya pude resolver mi problemilla XD
¿Y cómo estuvo? Cuéntanos. :)
¿Y cómo estuvo? Cuéntanos. :)
pues basicamente use netbeans
pues basicamente use netbeans para isertar de modo grafico las areas de texto y los botones
despues me toco programa las acciones de los botones
ya despues me tope con el problema que las funciones o metodos no me imprimian lo que deberia pero ya investigando un poco por internet encontre que mi error era que tenia que concatenar las impresiones de cada funcion para que en cada ciclo me imprimiera el dato del siguiente nodo
vaya que me costo este codigo
XD