我目前正在学习 Python 中的数据结构,我正在尝试创建一个链表。我得到了appendandget_size和display方法,但是当我尝试创建一个remove方法时。它删除了特定元素,但是当我尝试再次使用该方法打印所有元素时display,它打印的是一个空列表。
class Node:
def __init__(self, data=None):
self.data = data
self.ref = None
class Linked:
def __init__(self):
self.head = Node()
self.size = 0
def append(self, data):
new = Node(data)
cur = self.head
while cur.ref != None:
cur = cur.ref
cur.ref = new
self.size += 1
def get_size(self):
return self.size
def display(self):
el = []
cur_node = self.head
while cur_node.ref !=None:
cur_node = cur_node.ref
el.append(cur_node.data)
return el
def remove(self, data):
this_node = self.head
prv_node = None
while this_node != None:
if data == this_node.data:
if prv_node:
prv_node.ref = this_node.ref
else:
self.head = this_node.ref
self.size -= 1
return F"The item is removed "
else:
prev_node = this_node
this_node = this_node.ref
return F"data not found"
呼唤远方
相关分类