双向链表
这里直接给出代码,有问题的看这里。
class _DoublyLinkedBase():
"""a base class poviding a boubly linked list representation"""
class _Node():
__slots__ = '_element','_prev','_next'
def __init__(self,element,prev,next):
self._element = element
self._prev = prev
self._next = next
def __init__(self):
"""create a empty list"""
self._header = self._node(None,None,None)
self._trailer = self._Node(None,None,None)
self._header._next = self._trailer
self._trailer._prev = self._header
self._size = 0
def __len__(self):
"""return the number of elements in the list"""
return self._size
def is_empty(self):
"""return true if the list is empty"""
return self._size==0
def _insert_between(self,e,predecessor,successor):
"""add element e between pre and suc"""
newest = self._Node(e,

本文介绍了如何使用Python实现一个基于双向链表的位置列表类。位置列表类支持通过位置进行插入、删除和判断前后元素,提供绝对和相对位置的概念。类内部包含一个Position类作为对外接口,隐藏了双向链表的具体实现。文章还详细说明了Position类的构造、验证以及遍历等关键功能。
最低0.47元/天 解锁文章
2315

被折叠的 条评论
为什么被折叠?



