1、python中的链表如何实现
class Node(object):
def __init__(self, data, next):
self.data = data
self.next = next
if __name__ == '__main__':
head = None
for n in range(1,6):
head = Node(n, head)
while head != None:
print(head.data)
head = head.next
Python程序员使用对象引用建立起节点和链表结构。
上面的程序定义了一个节点,并且利用循环生成一个链表并访问列表。
生成的链表是这样的:
大家都知道,使用链表的好处,程序向内存申请内存时不要求内存是连续的,这与数组对内存空间在物理上必须连续是不一样的。链表结构的另一个好处是为删除和插入节点带来了好处,不需要移动大量的节点,只需要修改节点“指针”。java和Python中是没有指针一说的,都是通过引用实现的,C和C++中有指针的概念。
单链表结构相对于数组的主要优点不在于时间性能,而在于内存性能。