范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python实现循环单链表

  """     创建一个节点类 """   class Node:     def __init__(self, data):         self.data = data         self.next = None   """     定义一个循环单链表 """   class CycleLink:     def __init__(self):         self.header = None         self.length = 0      # 判断链表是否为空     def is_empty(self):         return not self.header      """         实现向链表添加数据的功能         有三种实现方式:         1.头插法         2.尾插法         3.根据指定位置向单链表插入元素     """      # 1.头插法     def __add__(self, value):         node = Node(value)         if self.is_empty():             self.header = node             node.next = self.header             self.length += 1             return         cur = self.header         while cur.next != self.header:             cur = cur.next         cur.next = node         node.next = self.header         self.header = node         self.length += 1      # 2.尾插法     def append(self, value):         node = Node(value)         cur = self.header         if self.is_empty():             self.__add__(value)             return         while cur.next != self.header:             cur = cur.next         cur.next = node         node.next = self.header         self.length += 1      # 3.根据指定位置向单链表插入元素     def insert(self, index, value):         if index <= 1:             self.__add__(value)         elif index > self.length - 1:             self.append(value)         else:             cur = self.header             node = Node(value)             temp = 1             while temp != index - 1:                 cur = cur.next                 temp += 1             node.next = cur.next             cur.next = node         self.length += 1         return value      """         实现查询循环链表的功能         有三种实现方式:         1.根据索引查询单链表的对应元素         2.直接查询元素         3.遍历整个单链表,并打印出所有元素     """      # 1.根据索引查询单链表的对应元素     def __getitem__(self, index):         if index < 0 or index > self.length:             raise IndexError         cur = self.header         for i in range(index - 1):             cur = cur.next         return cur.data      # 2.直接查询元素,并返回元素的索引     def is_Exist(self, value):         if self.is_empty():             return -1         temp = 0         cur = self.header         while cur.next != self.header:             if cur.data == value:                 return temp + 1             cur = cur.next             temp += 1         if cur.data == value:             return temp + 1         return -1      # 3.遍历整个单链表,并打印出所有元素     def getAll(self):         if self.is_empty():             print("目前链表中没有元素!")             return         cur = self.header         while cur.next is not self.header:             print("%d" % cur.data, end=" ")             cur = cur.next         print("%d" % cur.data, end=" ")      """         实现修改元素的功能     """      def __setitem__(self, index, value):         if index < 0 or index > self.length:             raise IndexError         cur = self.header         for i in range(index - 1):             cur = cur.next         cur.data = value         return value      """         实现删除元素的功能         有三种实现方式:         1.根据索引删除元素         2.直接删除元素         3.清空循环单链表     """      # 1.根据索引删除元素     def __delitem__(self, index):         cur = self.header         pre = None         for i in range(index - 1):             pre = cur             cur = cur.next         if cur == self.header:             pre = self.header             while pre.next != self.header:                 pre = pre.next             pre.next = self.header.next             self.header = self.header.next             self.length -= 1             return " "         pre.next = cur.next         self.length -= 1         return " "      # 2.直接删除元素     def __delete__(self, value):         cur = self.header         pre = None         while cur.next != self.header:             if cur.data == value:                 if cur == self.header:                     pre = self.header                     while pre.next != self.header:                         pre = pre.next                     pre.next = cur.next                     self.header = cur.next                     self.length -= 1                     return " "                 pre.next = cur.next                 self.length -= 1                 return " "             pre = cur             cur = cur.next         if cur.data == value:             pre.mext = cur.next             pre.next = cur.next             self.length -= 1             return " "      # 3.清空循环单链表     def clear(self):        self.header=None     if __name__ == "__main__":     s = CycleLink()     s.__add__(12)     s.__add__(13)     s.__add__(15)     s.append(22)     s.append(23)     s.append(25)     s.getAll()     print(" 在链表的第%d个位置插入元素%d:" % (2, s.insert(2, 44)))     s.getAll()     print(" 目前链表中元素的数量:", s.length)     print("查询链表第%d个位置的元素是 %d." % (4, s.__getitem__(4)))     print("修改第%d个元素为%d!" % (1, s.__setitem__(1, 90)))     s.getAll()     print("删除第%d个元素" % 1, s.__delitem__(1))     s.getAll()     print(" 目前链表中元素的数量:", s.length)     print("删除链表元素%d" % 22, s.__delete__(22))     s.getAll()     print(" 目前链表中元素的数量:", s.length)     print(" 清空链表中的元素:")     s.clear()     s.getAll()

Nokia1054G红色款预售开启,支持付款码功能引关注诺基亚功能机时代成为霸主,在智能机时代落伍后仍然坚持发布功能机,不能说所有的功能机都落后了。诺基亚105系列手机专为老年人和学生群体户外备用机用户设计,拥有4G双卡双待功能,续航时干得漂亮!工信部再次对43款违规App重拳出击中关村在线消息8月18日下午,工信部发布了关于App违规调用通信录位置信息以及开屏弹窗骚扰用户等问题回头看的通报(2021年第8批,总第17批),共发现43款App仍存在问题整改不手机解锁又有新方式?OPPO静脉解锁专利获授权随着科学技术的不断进步,尤其是生物识别技术的发展,让人们可以通过该技术实现各种更加安全,高效的场景体验。就明显的例子就是手机解锁,指纹解锁人脸识别解锁都已经被广泛应用,大家在感受到行走的工作站,惠普战99设计本助力专心创作对于需要使用专业软件的人来说,如何选择设计本是一个大难题,因为我们既需要强大的性能,又需要足够便携的身材,性能优越的游戏本过于笨重,轻薄便携的轻薄本,很容易踩入性能陷阱,卡到自己怀网友说格力手机失败了,董明珠霸气回应,格力利润一直在增长最近董明珠接受了采访,罕见谈到了格力手机的问题。自从几年之前董明珠宣布搞手机之后,关于格力手机的争议就一直不断,很多人都说格力手机失败了。那么格力手机到底失败了,还是成功了呢?董明支付宝小鸡跑了,网友们炸了你今天喂小鸡了吗?文章转载自创意广告排行榜IDADRankings编辑Dada每天早上起来偷好友几克能量或者把在自家偷吃的小鸡给胖揍一顿是不少支付宝用户每天一大早的快乐源泉之一可在万能手机数据恢复软件,设备微信应用数据都支持的工具手机,相信日常生活中大家越来越离不开他了。无论是获取资讯购物社交等,都十分方便。正因如此,手机中储存的照片联系人文档等数据越来越多。一旦误删或丢失,怎么办?而作为使用率最高的社交工华为将联合7家巨头推出5G消息,微信将要被替代了吗?谢谢邀请。华为拿下联智付的时候这就是预订章节。没有第三方支付网络支付牌照,这事只能想想。华为拿下联智付,意味着华为的5G消息可以做的和微信一样,包括用微信付款。这曾经是华为最大的障老号怎么办套餐便宜,不换号20块钱以里那种50个G流量有吗?移动9元月,40G通用流量(不限速),1300分钟通话。联通15元月,40G通用流量(不限速),1000分钟通话。移动18元月,90G通用流量(不限速),1500分钟通话。移动9元vivo手机性能怎样?我最有资格回答!!!我现在用的就是该品牌手机。一八年我上船时买的,价格一千七百元的。到今天已用了四年了,电池工作正常,也不卡机,是我用了这么多手机中最好用的一个。我如果以后买手机,iPhone上用的NVMe闪存,与Android旗舰上用的UFS2。1闪存,各自的优劣是什么?首先,NVMe并不是闪存,而是一种协议,全称是NonVolatileMemoryexpress,在PC端,它是一种建立在M。2接口上的类似AHCI的一种协议,是专门为闪存类存储设计
程序员学习深度学习TensorFlow什么是TensorFlow?想想,在机器学习流行之前,我们是如何做与语音和图像相关的识别的?大多数是基于规则的系统。例如,做自然语言处理,需要很多语言学的知识再如,1997年的IB任正非我抓住了人的5个欲望,所以华为成功了!来源管理智慧这篇文章来自任正非的内部讲话。年近古稀的他思想更为深邃,视角也更为独到,在他看来,企业管理遵循的是人性和欲望的逻辑,华为能一路披荆斩棘屹立行业之巅,就是因为团队既能激发你见过最好的手机号有多好?对于见过最好的手机号码,个人觉得自己的手机号码,就非常好记,下面一起来了解一下。本人的号码是在2009年用手机在网上选的,当初看到这个号码,一眼就记住了,当初就选择了这个号码,没有破产倒计时,昔日手机霸主金立,会有人来接盘吗?文韦航金立手机快要死了。从刘立荣承认赌博,供应商集体诉讼法院,到金立手机官网打不开,不到五个月时间。4月9日,有媒体发现,金立手机官网无法打开,点击链接后显示网络链接超时。目前尚不中国最牛夫妻搭档,一个掌管2910亿巨头,一个公司估值800亿说到夫妻企业,相信大家第一时间会想到潘石屹张欣黄光裕杜鹃两夫妻,潘石屹和张欣是SOHO中国创始人,两人在1995年共同创立了SOHO中国公司。经过24年的发展,目前SOHO中国已经超200名科学家耗时10余年8台望远镜同时观测,5500万光年外的黑洞终于揭开面纱每经记者蔡鼎每经编辑张杨运爱因斯坦的广义相对论再次得到了证实。据CNNBBC等媒体报道,美国国家科学基金会的研究人员于美东时间周三上午宣布,2017年4月,科学家们使用全球望远镜网该升级1903了,微软宣布停止支持Windows101709版本IT之家4月9日消息今天是周二补丁日,随着一堆产品获得更新,这也意味着今天是一些产品落寞的日子。微软宣布Windows10版本1709,也称为Windows10创意者更新秋季版等,编程语言流行指数Python稳居宝座,Java滑坡!作者h4cd本文经授权转载自开源中国(IDoschina2013)PYPL(PopularitYofProgrammingLanguage,编程语言流行指数)四月榜单已发布,目前包Vim哭了,浏览器就能远程VSCode开发,还支持Docker快速部署运行想过在云上服务器运行VSCode嘛?近期GitHub上就出现了VisualStudioCode编辑器的云托管平台codeserver,不仅能让的工作更流畅迅速,而且拥有超越本地开发免费好用的全平台编辑器,手把手教你做一个Markdown这门简洁的标记语言,让我们写文章有了更方便的途径。macOS上面好用又好看的Markdown编辑器百花齐放,但在Windows上,好用的Markdown编辑器真是少国产电视机选什么牌子好,海信U7GPro电视质量如何什么是XDR?XDR极致动态范围将亮度色彩对比度提升到了全新高度,把画面的动态范围推向了极致,可在现人眼所能看到的明暗对比远超HDR规格。XDR是全新电视芯片与ULED技术相结合,