数据结构:单向循环链表(四)
单向循环链表的操作
add(item)在头部添加元素
思路:1、先将新节点添加到头部,让node.next=self.__head 以及让self.__head=node
2、进行遍历,循环条件: 最后一个节点现在指向第二个节点,即cur.next = node.next;找到最后一个节点之后,将cur.next=node
3、当链表为空时,不进入循环,同样实现了添加操作
class Node(object): def __init__(self,item): self.item=item self.head=None class SinCycLinkedlist(object): def __init__(self,node=None): self.__head=node while node: node.next=self.__head def add(self,item): node=Node(item) node.next=self.__head self.__head=node cur=self.__head while cur.next !=node.next: cur=cur.next cur.next=node