我需要實現一個鏈接列表來搜索並將學生添加到現有的一組學生。數據學生包括學生證和姓名。例如Python Linklist與許多數據
studentList = [
student = ("11", "John"),
student = ("12", "Cindy"),
student = ("13", "Tracy"),
]
到目前爲止,我有以下代碼,但它只能用於單個數據,如何包含多個數據?如何成功搜索學生?
class Node(object):
def __init__ (self, code, name, n = None):
self.data = code
self.data = name
self.next_node = n
def get_next (self):
return self.next_node
def set_next (self, n):
self.next_node = n
def get_data (self):
return self.data
def set_data (self, d):
self.data = d
class LinkedList (object):
def __init__(self, r = None):
self.root = r
self.size = 0
def get_size (self):
return self.size
def add (self, d):
new_node = Node (d, self.root)
self.root = new_node
self.size += 1
def find (self, d):
this_node = self.root
while this_node:
if this_node.get_data() == d:
return d
else:
this_node = this_node.get_next()
return None
myList = LinkedList()
myList.add(5, "Trevor")
myList.add(10, "Trevor")
print("size="+str(myList.get_size()))
print(myList.find(10))
我提出你不需要,實際上,「需要實現鏈接列表」來做到這一點。只需使用一個'list'。 –
我也建議使用'namedtuple'作爲'node'對象:'從集合導入namedtuple作爲nt','node = nt('node','code name')' –