python 双向链表
来源:互联网 发布:java md5加解密 编辑:程序博客网 时间:2024/06/05 06:36
#coding:utf-8class DoubleLinked: def __init__(self): self.DL = self.Node(None) # 哨兵 def insert(self, k): self.pprint() node = self.Node(k) p = self.DL temp = p.next while temp and cmp(temp.k, k) == 1: p = temp temp = temp.next node.pre = p node.next = temp p.next = node if temp: temp.pre = node def search(self, k): node = self.DL.next while node and cmp(node.k, k) != 0: node = node.next return node def remove(self,k): self.pprint() node = self.search(k) if node: node.pre.next = node.next if node.next: node.next.pre = node.pre print 'delete %s ' % str(k) else: print 'not find %s ' % str(k) def pprint(self): node = self.DL while node: print '%s(%s %s %s)' % (str(id(node)), node.pre, str(node.k), node.next), node = node.next print @classmethod def test(cls): DL = cls() DL.insert(20) DL.insert(18) DL.insert(21) DL.insert(19) DL.remove(24) DL.remove(21) DL.remove(19) DL.remove(18) DL.remove(24) DL.remove(20) DL.remove(20) DL.pprint() print 'test over' class Node: def __init__(self, k): self.pre = self.next = None self.k = k def __str__(self): return str(id(self))DoubleLinked.test()
1 0
- python 双向链表
- python实现双向链表
- python描述双向链表
- Python 实现双向链表(图解)
- python双向链表的疑问(Question)
- 双向链表的基本操作(python)
- Python 双向链表的头插尾插
- Python实现双向链表的基本操作
- 【转】Python实现双向链表(图解)
- 数据结构与算法python版(二)--双向链表
- SzNOI 双向约瑟夫(双向链表)
- 双向链表&&堆栈
- 双向链表
- 使用双向链表
- 双向链表
- 双向循环链表
- 双向循环链表
- 双向链表
- 【hud2222】Keywords Search AC自动机
- 你正在为互联网上的“免费”付出什么?
- 使用librtmp进行H264与AAC直播
- React Native-13.React Native 常用API及实践 AppRegistry
- POJ 1018(dp)
- python 双向链表
- 在Mac OS X中使用jenv管理多个Java版本
- 获取android手机的屏幕分辨率 android开发
- 设计模式之迪米特法则
- 代码优化技巧
- joda.time 处理时间--计算2个日期之间的天数
- 一个java面试题引发的思考
- Yii 1.1 过滤器原理学习
- 0777前面的0原来是叫个suid和guid的东西