数据结构:单向循环链表(四)
单向循环链表的操作
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

浙公网安备 33010602011771号