lunes, 3 de marzo de 2014

Declaración de un Nodo. E. Datos Parte 2.

Bueno como vamos poco a poco pues poco a poco veremos las técnicas más obscuras del lado del mal, muajajaja... bueno no tanto pero aquí les mostrare como se declara un nodo y para que sirve y sus múltiples funciones.

Una lista enlazada se compone de una serie de nodos enlazados mediante referencias. En Java, se declara una clase para contener las dos partes del nodo: dato y enlace. Por ejemplo, para una lista enlazada de números enteros, la clase Nodo es:

class Nodo
{
int dato;
Nodo enlace;
public Nodo(int t)
{
dato = t;
enlace = null;
}
}
En la declaración, la visibilidad de los dos campos del nodo, dato y enlace, es la del package (visibilidad por defecto). De esa manera, los métodos que implementan las operaciones de listas pueden acceder a ellos al estar en el mismo paquete. El constructor inicializa el objeto Nodo a una dato y el enlace a la referencia null.
Dado que los tipos de datos que se pueden incluir en una lista pueden ser de cualquier tipo (enteros, dobles, caracteres o cualquier objeto) con el objetivo de que el tipo de dato de cada nodo se pueda cambiar con facilidad, se define a veces la clase Elemento como una generalización del tipo de dato. En ese caso, se utiliza una referencia a Elemento dentro del nodo, como se muestra a continuación:

class Elemento
{
// ...
}
class Nodo
{
Elemento dato;
Nodo enlace;
}
Entonces, si se necesita cambiar el tipo de elemento en los nodos, sólo tendrá que cambiar el tipo encerrado en la clase Elemento. Siempre que un método necesite referirse al tipo del dato del nodo puede utilizar el nombre Elemento.

La clase Punto, representa un punto en el plano de coordenadas (x, y). La clase Nodo con un campo dato referencia a objetos de la clase Punto. Estas clases formarán parte del paquete

ListaPuntos.
package ListaPuntos;
public class Punto
{
double x, y;
public Punto(double x, double y)
{
this.x = x;
this.y = y;
}
public Punto() // constructor por defecto
{
x = y = 0.0;
}
}
La clase Nodo que se escribe a continuación tiene como campo dato una referencia a Punto y como campo enlace una referencia a otro Nodo.

Se definen dos constructores: el primero inicializa dato, un objeto Punto y enlace a null; el segundo inicializa enlace de tal forma que referencia un Nodo.

package ListaPuntos;
public class Nodo
{
Punto dato;
Nodo enlace;
public Nodo(Punto p)
{
dato = p;
enlace = null;
}
public Nodo(Punto p, Nodo n)
{
dato = p;
enlace = n;
}
}

Bueno hasta aqui llegó esta entrada, pronto les enseñare como acceder a la lista a su cabecera y cola...y bueno una que otra cosa se me ocurrirá, hasta a próxima.

By x0d3ck.

No hay comentarios:

Publicar un comentario