2016-11-14 15 views
0

リンクされたリストをPythonで実装しているとき、私はちょっとした問題に直面しました。私はNodeオブジェクトを取得する代わりに、そのデータを、私はヘッドノードに格納されたデータを取得しようとしているとき:ここに私のコードリンクリストの実装に関する問題

class Node(object): 

    def __init__(self, data=None, next_node=None): 
     self.data = data 
     self.next_node = next_node 

    def get_data(self): 
     return self.data 

    def get_next(self): 
     return self.next_node 

    def set_next(self, new_next): 
     self.next_node = new_next 


class LinkedList(object): 

    def __init__(self, head=None): 
     self.head = head 

    def insert(self, data): 
     new_node = Node(data) 
     new_node.set_next(self.head) 
     self.head = new_node 


n = Node(1) 
L = LinkedList() 
print('data in node:', n.get_data()) 
print('next node:', n.get_next()) 
print('head:', L.head) 

L.insert(n) 
print('head after insertion:', L.head) 
print('try to get data stored in head:', L.head.get_data()) 

問題は、最後の行で示されているのです。私は間違って何をしていますか?

+2

を渡している間、それが価値であるかのようにあなたがデータを処理しているここ

new_node = Node(data) 

です'insert'メソッドを使用して、' Node'から新しい 'Node'を作成します。 L.insert(Node(1))ではなく 'L.insert(1)'が必要です。 –

答えて

3

問題は、その後に、あなたは `Node`を挿入Node(1)の代わりに、単に1

関連する問題