Como es habitual cuando se escribe una clase, comenzaremos con los métodos de inicialización y __str__ , para poder comprobar el mecanismo básico de crear y mostrar el nuevo tipo:
1: class Nodo:
2: def __init__(self, carga=None, siguiente=None):
3: self.carga = carga
4: self.siguiente = siguiente
5: def __str__(self):
6: return str(self.carga)
Como es habitual, los parámetros para el metodo de inicialización son opcionales. Por defecto, la carga y el enlace, siguiente, se ponen a None.
La representación alfanumérica de un nodo es únicamente la de la carga. Como se puede pasar cualquier valor a la función str, podemos guardar cualquier valor en una lista.
Para comprobar la implementación en este punto, podemos crear un Nodo e imprimirlo:
1: >>> nodo = Nodo("prueba")
2: >>> print nodo
3: prueba
Para hacerlo más interesante, necesitaremos una lista que contenga más de un nodo:
1: >>> nodo1 = Nodo(1)
2: >>> nodo2 = Nodo(2)
3: >>> nodo3 = Nodo(3)
Este código crea tres nodos, pero aun no tenemos una lista porque los nodos todavía no están enlazados. El diagrama de estados tiene el siguiente aspecto:
Para enlazar los nodos, debemos hacer que el primer nodo haga referencia al segundo, y que este haga referencia al tercero:
1: >>> nodo1.siguiente = nodo2
2: >>> nodo2.siguiente = nodo3
La referencia del tercer nodo será None, que indica que es el final de la lista.
Ahora el diagrama de estados tendrá el siguiente aspecto:
Ahora ya sabe como crear nodos y enlazarlos en listas. Lo que podría estar menos claro es por que.
Comentarios
Publicar un comentario