注:带头结点

#!/usr/bin/python3.5
# _*_coding:utf-8_*_class Node:def __init__(self, value):self.data = valueself.next = Noneclass CycleList:def __init__(self):self._head = Node(None)self._head.next = self._headself.rear = self._headdef insert(self, index, value):n = Node(value)cur = self._headfor i in range(index - 1):cur = cur.nextn.next = cur.nextcur.next = nif n.next == self._head:self.rear = ndef remove(self, index):if index <= 0 or index > self.length():print('删除位置有误')returncur = self._headfor i in range(index - 1):cur = cur.nextif cur == None:print('删除位置有误')returnn = cur.nextcur.next = cur.next.nextdel nif cur.next == self._head:self.rear = curdef empty(self):return self._head.next == self._headdef search(self, value):cur = self._head.nextindex = 1while cur != self._head and cur.data != value:cur = cur.nextindex += 1if cur == self._head:print('没有该元素')returnprint("index:%d,value:%d" % (index, value))def clear(self):cur = self._head.nextwhile cur != self._head:n = curcur = cur.nextdel nself._head.next = self._headself.rear = self._headdef length(self):count = 0cur = self._head.nextwhile cur != self._head:count += 1cur = cur.nextreturn countdef travel(self):if self.empty():print('空')returncur = self._headwhile cur.next != self._head:cur = cur.nextprint(cur.data)def appendhead(self, value):n = Node(value)if self.empty():self.rear = nn.next = self._head.nextself._head.next = ndef appendrear(self, value):n = Node(value)n.next = self.rear.nextself.rear.next = nself.rear = nif __name__ == '__main__':link = CycleList()

Python写数据结构:单向循环链表相关推荐

  1. Python写数据结构:双向循环链表

    注:有头结点 #!/usr/bin/python3.5 # _*_coding:utf-8class Node:def __init__(self, value):self.data = values ...

  2. 数据结构-单向循环链表、双向循环链表、仿真链表

    一.单向循环链表: 1.概念: 单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环. 和单链表相比,循环单链表的 ...

  3. python约瑟夫环单向循环链表_约瑟夫环的单向循环链表的实现代码

    /************************************************************************* > File Name: JosephCir ...

  4. 【循环链表】数据结构——单向循环链表和双向循环链表操作笔记

    循环链表 一.单向循环链表 1.单向循环链表的节点 2.单向循环链表的结构 二.双向循环链表 1.双向循环链表示意图 2.双向循环链表节点设计 3.双向循环链表的一般性结构 4.双向循环链表头插法插入 ...

  5. python写数据结构书_有哪些用 Python 语言讲算法和数据结构的书?

    python数据结构基础工具书籍下载-持续更新​www.jianshu.com 以上网址有大量python数据结构的书籍下载,内容比较长,我这边拷贝了一部分. 本书示例丰富,图文并茂,以让人容易理解的 ...

  6. Java数据结构单向循环链表实现约瑟夫问题(丢手绢)

    环形链表 实例:使用环形链表解决约瑟夫问题(丢手绢) 构建一个单向环形链表思路 ​ 1)先创建第一个节点,让first指向该节点,并形成环形 ​ 2)加入环形链表 遍历环形链表 ​ 1)先让一个辅助指 ...

  7. Python写数据结构:二叉树的创建和遍历

    #!/usr/bin/python3.5 #_*_coding:utf-8_*_class Node:def __init__(self,value):self.data = valueself.lc ...

  8. Python写数据结构:二叉树的性质

    二叉树性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>=1) 二叉树性质2: 深度为k的二叉树至多有2^k - 1个结点(k>=1) 二叉树性质3: 对任何一棵二叉树T,如果其 ...

  9. Python写数据结构:循环队列

    #!/usr/bin/python3.5 #_*_coding:utf-8_*_class Queue():def __init__(self,capacity):self.queue = [None ...

最新文章

  1. Apache2.4+Tomcat7集群搭建
  2. 未来教育计算机三级课后题答案,未来教育计算机三级课后题答案
  3. FORTRAN学习记录(持续更新)
  4. python中requests的常用方法_python3 Requests常用操作
  5. 哈罗单车怎么关锁还车_好象被哈罗单车套路了,提醒大家小心
  6. Servlet其他关联类---ServletConfig类
  7. mysql 表的存储类型_MySQL数据表存储引擎类型及特性
  8. js f12就关闭标签、禁止右击,感兴趣的可以看一下
  9. Linux 命令(131)—— usermod 命令
  10. Python3.x+pycharm+Anaconda中缩小打包的.exe体积的方法
  11. 分享一个好看的个人主页源码
  12. 区块链-公钥生成地址
  13. pyserial查看串口
  14. skiller3.31 发布
  15. Vue项目上传图片后在ie浏览器卡死
  16. 神策数据杨宁:券商财富管理数字化转型客户全生命周期(视频解读)
  17. ci定位 lac_LAC、CI、小区、扇区、基站都是什么
  18. PS|基础原理之‘图层混合模式’
  19. TeamViewer一直显示“未就绪”什么原因?
  20. epub 格式转换成 mobi

热门文章

  1. [转载] 【Python】Python3 List copy()方法
  2. [转载] python可视化分析(matplotlib、seaborn、ggplot2)
  3. 末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站
  4. Java 泛型 (generics) 的使用
  5. RS-485总线和Modbus通信协议的关系
  6. 查看主机DNSserver
  7. Paxos—以选美比赛为例PPT
  8. js function定义函数的4种方法
  9. 雷军自述:我惨痛的大学创业失败经历
  10. CppUnit快速入门