1

リンクリストを2つ作ったのですが、2つ目の関数でリンクが切れてしまいました。None を自分自身に取得したことがわかりますが、親からのリンクを失う可能性があります。None は独立したメモリアドレスなので?

class Node:
    def __init__(self,data):
        self.next=None
        self.data=data

    def buildLink1(self):
        temp=1
        while temp<10:
            self.next=Node(temp)
            self=self.next
            temp+=1

    def buildLink2(self):
        temp=1
        while temp<10:
            self=self.next
            self=Node(temp)
            temp+=1

    def traverse(self):
        while self:
            print self.data
            self=self.next

if __name__=='__main__':
    print "link 1:"
    root1=Node(10)
    root1.buildLink1()
    root1.traverse()
    print "link 2:"
    root2=Node(10)
    root2.buildLink2()
    root2.traverse()

出力: リンク 1: 10 1 2 3 4 5 6 7 8 9 リンク 2: 10

4

1 に答える 1