单链表 Python [关闭]
Posted
技术标签:
【中文标题】单链表 Python [关闭]【英文标题】:Singly Linked List Python [closed] 【发布时间】:2021-12-12 08:02:29 【问题描述】:这是我在终端中运行的代码导致的错误
我的代码有问题,谁能找到这段代码的解决方案?
class Node:
# Node untuk singly Linkedlist
def __init__(self, data):
self.data = data
self.next = data
class singly_linked_list:
def __init__(self):
# Membuat list kosong
self.head = None
self.tail = None
self.count = 0
def print_all_item(self):
# Iterate the list.
current_item = self.head
while current_item:
val = current_item.data
current_item = current_item.next
print(val)
def append_item(self, data):
#menambahkan item pada list
node = Node(data)
if self.tail:
self.tail.next = node
self.tail = node
else:
self.head = node
self.tail = node
self.count += 1
测试:
listPertama = singly_linked_list()
listPertama.append_item('php')
listPertama.append_item('Python')
listPertama.append_item('C#')
listPertama.append_item('C++')
listPertama.append_item('Java')
listPertama.print_all_item()
预期结果:
PHP
Python
C#
C++
Java
【问题讨论】:
欢迎来到 Stack Overflow。 Please don't post screenshots of text。它们无法被屏幕阅读器等自适应技术的用户搜索或复制,甚至无法使用。相反,将代码作为文本直接粘贴到您的问题中。如果选择它并单击
按钮或 Ctrl+K 代码块将缩进四个空格,这将导致其呈现为代码。
(另请注意,此代码将生成 IndentationError
。请注意始终共享准确的代码。我们不必猜测哪些错误相关,哪些不相关。请参阅我的之前关于如何轻松做到这一点的评论。)
self.next = data
Node.__init__
方法中的这一行没有意义。 next
应该是另一个 Node
,而不是字符串。
当你创建一个Node对象时,它的next指针应该是None。
【参考方案1】:
只需将第五行中的“数据”改为“无”即可。
喜欢这个类节点:
# Node untuk singly Linkedlist
def __init__(self, data):
self.data = data
self.next = None
【讨论】:
以上是关于单链表 Python [关闭]的主要内容,如果未能解决你的问题,请参考以下文章