如何获取链表中的第二个数据?

时间:2019-01-15 07:50:38

标签: python python-3.x data-structures linked-list

我尝试从文本文件中读取两个值:130,220(以逗号分隔)。但是,我创建了一个节点链接列表,这些节点具有dato1dato2属性,我想在其中保存这些值。

当我从阅读器类中打印obtenerNodos方法时,仅打印重复的第一个值(130)。

[130, 130]

如何为obtenerNodosdato1编辑dato2方法?

我希望:[130,220]已正确存储在链接列表中。

下面是节点和链表的代码。

节点类

class Nodo:
    def __init__(self, dato1 = None, dato2 = None, siguienteNodo = None):
    self.dato1 = dato1
    self.dato2 = dato2
    self.siguienteNodo = siguienteNodo

链接列表类别

class ListaEnlazada:

    def __init__(self):
       self.nodoInicio = Nodo()
       self.nodoUltimo = Nodo()

    def tamano(self):
       actual = self.nodoInicio
       total = 0
       while actual.siguienteNodo != None:
           total += 1
           actual = actual.siguienteNodo
       return total


    def agregarNodoFinal(self, dato1, dato2):
       nodoNuevo = Nodo(dato1, dato2)
       actual = self.nodoInicio
       while actual.siguienteNodo is not None:
           actual = actual.siguienteNodo
       actual.siguienteNodo = nodoNuevo 


    def obtenerNodos(self):
       datos = []
       nodo = self.nodoInicio
       while nodo.siguienteNodo is not None:
          nodo = nodo.siguienteNodo
          datos.append(nodo.dato1)
       return datos   


    def vacia(self):
       if self.nodoInicio == None:
          return True
       else:
          return False

阅读器类(我不确定阅读器是否运行正常)

class LecturaArchivo:
     listaEnlazada = ListaEnlazada()

     nombreArchivo = input('Nombre del archivo: ')
     archivo = open(nombreArchivo, "r")
     lineas = archivo.read()
     datos = lineas.split(',')

     for dato in datos:
        xTemporal = float(datos[0])
        yTemporal = float(datos[1])

        listaEnlazada.agregarNodoFinal((xTemporal), (yTemporal))

     print(listaEnlazada.obtenerNodos())

0 个答案:

没有答案