我正在尝试将元素添加到链接列表的末尾,但看不到这种情况。似乎总是在链接列表的末尾添加“无”。我不确定为什么会发生这种情况,并且我猜想这与我的.next设置不正确有关。我正在使用python来实现我的链表。有人可以帮我吗
下面是我的Node类
class Node:
def __init__(self):
self.data = None
self.next = None
def get_data(self):
return self.data
def set_data(self, data):
self.data = data
def get_next(self):
return self.next
def set_next(self, node):
self.next = node
这是我的带有插入方法的链表类
class SingleyLinkedList:
def __init__(self):
self.head = Node()
def insertAtHead(self, data):
currentNode = self.head
newNode = Node()
newNode.set_data(data)
if currentNode != None:
newNode.set_next(currentNode)
self.head = newNode
print("Inserted ", data, " at the head")
else:
self.head.set_next(newNode)
def insertAtEnd(self, data):
currentNode = self.head
new_node = Node()
new_node.set_data(data)
while currentNode.get_next() != None:
currentNode = currentNode.next
currentNode.set_next(new_node)
print("Inserted ", data, " at end")
def printNode(self):
print("\nPrinting the nodes")
currentNode = self.head
while currentNode.next != None:
print(currentNode.data, " --> ", end="")
currentNode = currentNode.next
print(" NULL \n")
s = SingleyLinkedList()
s.insertAtHead(5)
s.printNode()
s.insertAtHead(10)
s.printNode()
s.insertAtHead(1)
s.printNode()
s.insertAtEnd(20)
s.printNode()
我得到以下结果,
头部插入5
打印节点5-> NULL
头部插入10
打印节点10-> 5-> NULL
头部插入1
打印节点1-> 10-> 5-> NULL
末尾插入20
打印节点1-> 10-> 5->无-> NULL
桃花长相依
倚天杖
相关分类