数据结构----链表之单向循环链表---Python

循环是什么呢?圆就可以看作是一个循环。

直接上一个示意图吧

由图可以看出来,就是尾节点指针指向了头节点。

公式:

#定义一个节点类
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)
复制代码

至于怎么添加节点,怎么删除节点可以参考

数据结构----链表系列----单向链表---Python

转载于:https://juejin.im/post/5d133690f265da1bc94efd49

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值