循环链表是在单单链表的基础上,将链表的头和尾链接起来,组成一个循环。
使用python实现
class ListNode():
def __init__(self,data):
self.head = data
self.next = None
#判断列表是否为空
def isempty(self):
return self.head == None
#在头部添加元素
def nodes_head(self,data):
if isempty(self):
self.head = data
self.next = self
return self
else:
newnode = ListNode(None)
newnode.head = data
newnode.next = self
p = self
while p.next != self:
p = p.next
p.next = newnode
#返回头部节点
return newnode
#尾部添加元素
def nodes_tail(self,data):
if isempty(self):
self.read = data
self.next = self
else:
p = self
node = ListNode(None)
node.head = data
while p.next != self:
p = p.next
p.next = node
node.next = self
#在指定位置插入元素
def nodes