数据结构:单向循环链表(五)
单向循环链表的操作
search(item) 查找元素在不在链表当中
思路:1、当链表为空,直接返回False
2、循环遍历查找,循环条件:cur.next != self.__head 在循环里面进行判断 cur.item == item
3、当cur.next = self.__head的时候,cur指向最后一个节点(即尾节点),不满足循环条件,所以需要单独判断一下,之后的情况就返回False
class Node(object): """节点""" def __init__(self, item): self.item = item self.next = None class SinCycLinkedlist(object): def __init__(self,node=None): self.__head=node while node: node.next=self.__head def search(self,item): if self.__head==None: return False cur=self.__head while cur.next != self.__head: if cur.item==item: return True cur=cur.next if cur.item==item: return True return False