循环是什么呢?圆就可以看作是一个循环。
直接上一个示意图吧
由图可以看出来,就是尾节点指针指向了头节点。公式:
#定义一个节点类
class Node(object):
def __init__(self, dataval):
self.dataval = dataval
self.nextval = None
#定义单向循环链表
class Cir:
def __init__(self):
self.headval = None
def one_way_append(self,newdata):
#将数据转化为Node
Newnode = Node(newdata)
#判断是否为第一个节点
if self.headval is None:
self.headval = Newnode
else:
laste = self.headval
while laste.nextval != self.headval:
laste = laste.nextval
laste.nextval = Newnode
Newnode.nextval = self.headval
def show(self):
printval = self.headval
while printval:
print(str(printval.dataval)+'**8')
printval = printval.nextval
li = Cir()
li.one_way_append('Mon')
li.one_way_append('Tue')
li.one_way_append('Wed')
li.one_way_append('Thu')
show = li.show()
# print(show)
复制代码
至于怎么添加节点,怎么删除节点可以参考