为什么我得到反向双向链表?
why do i get reversed doubly linked list?
为什么我得到一个反转的数据输出= (40->30->20->10->None)。
请解决错误:
双向链表还有其他方法吗?
class Node:
def __init__(self,data,next,prev):
self.data=data
self.next=next
self.prev=prev
class linkedlist:
head=None
tail=None
def show(self):
current_node=self.tail
while current_node is not None:
print(current_node.data,"-->",end=" ")
current_node=current_node.prev
#self.tail.next=self.head
print(None)
def append(self,data):
node=Node(data,None,None)
if self.head is None:
self.head=self.tail=node
else:
node.prev=self.tail
self.tail.next=node
self.tail=node
s=linkedlist()
s.append(10)
s.append(20)
s.append(30)
s.append(40)
s.show()
print("Doubly Linked List Output")
请解决这个错误
您的 show()
方法是这样工作的 - 它从尾部开始,向列表的头部移动。从头到尾使用:
current_node=self.head
while current_node is not None:
print(current_node.data,"-->",end=" ")
current_node=current_node.next # NEXT!
要显示10,20,30,40请从head开始遍历。您可以更改您的显示方法以开始
current_node=self.head
并确保将下方更改为
current_node=current_node.next
每次迭代。
为什么我得到一个反转的数据输出= (40->30->20->10->None)。 请解决错误: 双向链表还有其他方法吗?
class Node:
def __init__(self,data,next,prev):
self.data=data
self.next=next
self.prev=prev
class linkedlist:
head=None
tail=None
def show(self):
current_node=self.tail
while current_node is not None:
print(current_node.data,"-->",end=" ")
current_node=current_node.prev
#self.tail.next=self.head
print(None)
def append(self,data):
node=Node(data,None,None)
if self.head is None:
self.head=self.tail=node
else:
node.prev=self.tail
self.tail.next=node
self.tail=node
s=linkedlist()
s.append(10)
s.append(20)
s.append(30)
s.append(40)
s.show()
print("Doubly Linked List Output")
请解决这个错误
您的 show()
方法是这样工作的 - 它从尾部开始,向列表的头部移动。从头到尾使用:
current_node=self.head
while current_node is not None:
print(current_node.data,"-->",end=" ")
current_node=current_node.next # NEXT!
要显示10,20,30,40请从head开始遍历。您可以更改您的显示方法以开始
current_node=self.head
并确保将下方更改为
current_node=current_node.next
每次迭代。