使用链表构建列表类。
链表:由一系列节点(链表中每个元素称为节点)组成。每个节点包括两部分:一个是存储数据元素的数据域(Data field),另一个是存储下一个节点地址的指针域(Pointer field)。
下面这些方法的实现性能与Python的内置列表list不同,Python中的列表的实现是基于数组的。
打印显示类:
class Display(object):
def show(self):
return ", ".join("{}".format(getattr(self, key)) for key in self.__dict__)
# 重写__str__定义对象的打印内容
def __str__(self):
return "{}".format(self.show())
创建节点类:需继承Display类,否则print时只会显示内存地址
class Node(Display):
def __init__(self, initdata):
self.data = initdata #初始化数据元素
self.next = None #下一个节点地址,None意味着没有下一个节点。
# 获取数据元素
def getData(self):
return self.data
# 获取下一个节点地址
def getNext(self):
return self.next
# 设置数据元素
def setData(self, newdata):
self.data = newdata
# 设置下一个节点地址
def setNext(self, newnext):
self.next = newnext