Я написал простой единый связанный список через Python3, но функция поиска в классе не выполнена должным образом.
Я думаю, что другая функция в порядке.
class Node():
"""节点"""
def __init__(self, elem):
self.elem = elem
self.next = None #initialed the next node as None
class SingleLinkList():
"""single linked list"""
def __init__(self, node=None):
self.__head = node
def travel(self):
'''traversing the linked list'''
cur = self.__head
while cur != None:
print(cur.elem, end = ' ')
cur = cur.next
print('\n')
def add(self, item):
'''Add elements to the list header'''
node = Node(item)
node.next = self.__head
self.__head = node
def search(self, item):
'''Verify node existence'''
cur = self.__head
while not cur:
if cur.elem == item:
return True
else:
cur = cur.next
return False
l1 = SingleLinkList()
l1.add(2)
l1.add(3)
l1.travel()
print(l1.search(2))
[~]$ python3 temp.py
3 2
False
Очевидно, что при поиске int 2
он должен содержаться в списке, поэтому выходные данные должны быть True
отличными от False
. Не могли бы вы помочь мне разобраться?