python - 链表中的显示方法不显示整个列表项
问题描述
我是 python 的初学者,我想创建一个单链表,然后在列表的末尾添加一个节点。但我有一个问题......当我想显示列表中的项目时,它会显示我插入的最后一个节点的值。我应该怎么做才能解决这个问题??
class Node:
def __init__(self, value):
self.info = value
self.link = None
class SingleLinkedList:
def __init__(self):
self.start = None
def create_list(self):
n = int(input('enter number of nodes '))
if n == 0:
return
for i in range(n):
b = int(input('enter the element to be inserted '))
def insert_at_end(self, data):
temp = Node(data) #insertion in the empty linked list
if self.start is None:
self.start = temp
return
p = self.start
while p is not None:
p = p.link
p.link = temp
def display_list(self):
if self.start is None:
print('linked list is empty')
else:
print('list is: ')
p = self.start
while p is not None:
print(p.info, "", end='')
p = p.link
print()
test = SingleLinkedList()
test.create_list()
data = 70
test.insert_at_end(data)
test.display_list()
解决方案
推荐阅读
- drivers - 从 MSI 能力结构中读取地址
- php - 使用 varchar 数据确定何时在 php/html/css 中设置 div 类的显示
- php - 有什么方法可以检查用户是否订阅了我的 youtube 频道
- python - 即使捕获到异常,hasattr 也会返回属性错误
- basic - Applesoft Basic,如何隐藏闪烁的光标?
- regex - 在正则表达式中的花括号内使用字母数字字符
- javascript - ajax 错误 checkUsn 未在 HTMLInputElement.onkeyup 中定义
- java - Java扩展和实现接口
- java - 正确使用 ConcurrentLinkedDeque
- go - 如何从字符串中删除双引号