jueves, 12 de diciembre de 2013

NODO

Los nodos son elementos de tipo abstracto de dato que guarda un objeto con sus atributos de manera individual, pero dentro de un grupo de objetos, contiene un enlace o puntero quien indica cual será el nodo que le proceda, es un elemento básico en las listas, pilas, colas y arboles (hablaremos de ellos en las siguientes publicaciones).

Nota: Si en lugar de enlace el puntero indicara null, que significa vacío, quiere decir que ese es el último o único nodo de el grupo de nodos registrados.






Al registrar un dato éste inicia con el puntero indicando null, lo que significa que es el único o último nodo registrado, como ya lo había mencionado. Al registrar otro nodo, el puntero de la clase que se había registrado se convertirá en un enlace quien va a indicar que es el segundo nodo, y así sucederá con los demás nodos que se registren, y el nodo nuevo registrado tendrá el puntero con null.

Este tema será la base para crear las siguientes publicaciones que serán listas, pilas, colas y árboles.


  • Diagrama de UML











  • Programa
Creamos un nuevo proyecto o paquete que llamamos NODO y creamos una clase que se llame Nodo, posteriormente declaramos las variables que usaremos una que guarda los datos, en este caso la declaramos de tipo String, y otra que guardará el puntero de el nodo, de tipo Nodo...

package NODO;
import javax.swing.JOptionPane;
public class Nodo {
  private String dato
    private Nodo enlace;

...encapsulamos las variables...


   public Nodo getEnlace() {

        return enlace;  }

   public void setEnlace(Nodo enlace) {
        this.enlace = enlace;   }
   public String getDato() {
        return dato;    }
   public void setDato(String dato) {
        this.dato = dato; }

... creamos los constructores de clase...
¿Que es esto y para que nos sirve?  Un constructor de clase es un método especial que se llama automáticamente siempre que se declara un objeto de esa clase.

Su función es inicializar el objeto y sirve para asegurarnos de que estos siempre contengan valores válidos.

Cuando se crea un objeto en Java se realizan las siguientes operaciones de forma automática:
  1. Se asigna memoria para el objeto.
  2. Se inicializan los atributos de ese objeto con los valores predeterminados por el sistema.
  3. Se llama al constructor de la clase que puede ser uno entre varios.
El constructor de una clase tiene las siguientes características:
  • Tiene el mismo nombre que la clase a la que pertenece.
  • En una clase puede haber varios constructores con el mismo nombre y distinto número de argumentos (se puede sobrecargar).
  • No se hereda.
  • No puede devolver ningún valor (incluyendo void).
  • Debe declararse público (salvo casos excepcionales) para que pueda ser invocado desde cualquier parte donde se desee crear un objeto de su clase.
 public Nodo(String x){
        dato=x;
        enlace=null;
    }
    public Nodo(String x, Nodo n){
        dato=x;
        enlace=n;
    }
}
 ... y termina la clase.

Conclusión:
Los nodos son la base de muchos programas para almacenar más de un dato ya que con este le damos cierto enfoque o trato individual a cada uno de ellos, y estos lo guardaran con sus respectivos atributos, pero no olvidemos los vectores que igualmente guardan más de un dato, con la desventaja de que estos guardan los datos con un único atributo: el tipo de dato.

Autor: Guadalupe Jiménez Gerónimo