1
私はlinked list
を実装してデータ構造を研究しています。インターネットには多くの優れたリソースがありますが、リンクされたリストのデータを表示しています(最後の値がありません)
class Node:
def __init__(self, val=None):
self.data = val
self.Next = None
class LinkedList:
def __init__(self):
self.head = None
self.size = 0
def __repr__(self):
temp = self.head
alist = []
while temp.Next is not None:
alist.append(temp.data)
temp = temp.Next
return str(alist)
def add(self, val):
cur = self.head
prev = None
if cur is None:
self.head = Node(val)
else:
while cur is not None:
prev = cur
cur = cur.Next
prev.Next = Node(val)
self.size += 1
if __name__ == '__main__':
alist = LinkedList()
for i in range(10):
alist.add(i)
print(alist)
""" [0,1,2,3,4,5,6,7,8]
私はそれが[0,1,2,3,4,5,6,7,8,9]を印刷すると予想しましたが、最後の要素が欠けています。誰でも私が私のadd
方法で逃したものを教えてもらえますか? ありがとうございます!
「temp.data」が「9」の場合、「temp.Next」は「なし」で条件に失敗し、「9」は決して「alist」に追加されません。 'tempがNoneではない間に条件を変更する' – inspectorG4dget
私の 'add 'が間違っていると思った。 – jaykodeveloper
ありがとうございました@Jay回答を投稿するか質問を削除することを検討してください:) –