我有以下双链表搜索功能
def search (self, element):
current=self.head
index=1
if current == None:
return -1
else:
while current.data !=element:
current=current.next_node
index=index+1
if current != None:
return index
else:
return -1
我希望它在没有找到任何元素时返回-1。但是,它没有像我预期的那样工作。谁能告诉我为什么?
答案 0 :(得分:0)
这应该有效(我还没有检查过):
def search (self, element):
current=self.head
index=1
while current != None:
if current.data == element:
return index
current = current.next_node
index += 1
return -1
仍然基于索引从一个开始的假设,如果这是你喜欢的。通常,当从零开始时,offets / index更有用(就像在python中默认情况下在所有内置函数/运算符中一样)。