sábado, 25 de agosto de 2007

Listas enlazadas

Bien, como no tenia nada que hacer en mi trabajo, me puse a escribir código en java, algo simple como son las listas enlazadas. Este es un ejemplo de como usar listas simplemente enlazadas en Java. Estas técnicas son vistas en estructura de datos.

Primero creamos un Objeto que tendra la función de nodo.
import java.lang.*;

public class Nodo {
private int valor = 0;
private Nodo next = null;

public Nodo(){
}

public Nodo(int value, Nodo val){
this.valor = value;
this.next = val;
}

public void setValor(int value){
this.valor = value;
}

public void setNext(Nodo value){
this.next = value;
}

public int getValor(){
return this.valor;
}

public Nodo getNext(){
return this.next;
}
}
Despues procedemos a crear un Objeto que hara las funciones de la lista (por el momento inserción), esta clase contiene el método main para poder ejecutar el ejemplo.
public class Lista {
Nodo raiz;
Nodo aux;
/** Creates a new instance of Lista */
public Lista() {
this.raiz = null;
this.aux = null;
}

public void addNodo(int value){
aux = new Nodo(value,null);
aux.setNext(raiz);
raiz = aux;
System.out.println("AddNodo, Valor: "+value);
}

public Nodo getRaiz(){
return this.raiz;
}

public void view(Nodo aux){
if(raiz != null){
if(aux.getNext()!=null){
view(aux.getNext());
}
System.out.println("ViewNodo, Valor: "+aux.getValor());
}
else {
System.out.println("No hya elementos en la lista");
}
}

public static void main(String[] args){
Lista l = new Lista();
l.addNodo(1);
l.addNodo(2);
l.addNodo(3);
l.addNodo(4);
l.addNodo(5);
l.addNodo(6);
l.addNodo(7);
l.view(l.getRaiz());
}

}
Espero este trozo de codigo les sea útil.

8 comentarios:

Unknown dijo...

Ta chido el codiguito, y aqui estaremos haber que sale de todos estos relajos de bologs quise decir blogs jajajjaajaja. Saludos a todos.

Adlair Cerecedo dijo...

Buuuuu!!! VIVA MONO!!!... jajajajaja... broma. :p

Código compacto y básico, fácil de comprender. Saludos!!!

ELHARRY7 dijo...

hola soy nuevo y en la escuela me dejaron que hiciera un programa en java que haga la media y la desviación estandar con listas enlazadas

daffniz dijo...

Pues no creo que haya problemas con eso, solo implementa el código, y aplica las formulas de la media y desv. estandar.

Taller de computación dijo...

Maxi (Argentina).

Muy bueno el material. Podrias hacer lo mismo pero con grafos y arboles ya que tengo parcial y mucho no entiendo. GRACIAS !!!!!

SimonTs dijo...

Saludos men, muy explicativo el blog, a ver si podes ayudarme con una duda que tengo: sabes que estoy haciendo una lista enlazada (linkedlist) de JTextFields, agrego los JTextFields que desee, luego deseo recorrerla pero, para modificar el campo de texto de cada jtextfield, es decir deseo acceder a cada uno de los Jtextfields de la lista y poder hacer efectivamente .setText(" ") y eso es lo que no he podido lograr hacer (claro si este linkedlist lo permite) sino lo permite me podes dar alguna luz para implementar mi propia clase lista que si lo permita hacer ya que vengo de c++ y extraño los * y los & de apuntadores..... gracias de antemano

daffniz dijo...

Lo que puedes hacer es modificar este código, en la clase Nodo y cambiar el tipo de la variable "valor" de tipo "int" por el JtextField que te sirve. y los setter y getter modificarlos para que les pases como parametro un String(setter) y devuelvan un String (getter).

public class Nodo {

private String valor = null;
private Nodo next = null;

public Nodo(){
this.valor = new JTextField();
}

public Nodo(String value, Nodo val){
this.valor = new JTextField();
this.valor.setText(value);
this.next = val;
}

public void setValor(String value){
this.valor.setText(value);
}

public void setNext(Nodo value){
this.next = value;
}

public String getValor(){
return this.valor.getText();
}

public Nodo getNext(){
return this.next;
}
}

Espero haberte ayudado.

yiyo dijo...

Saludos... separa que m puedes ayudar con las listas circularmente enlazadas y dobles circular

yiyocas@hotmail.com

soy d tapa =