linked list python
时间: 2023-11-16 15:05:19 浏览: 87
链表(Linked List)是一种常见的数据结构,可以用来存储和操作一系列的元素。在Python中,可以使用引用类来实现链表。
链表的主要优点是可以动态地管理内存空间,因为它不需要在内存中预留一定大小的空间。在C/C++中,通常使用指针结构体来实现链表;而在Python中,可以使用引用类来实现链表。
链表的基本实现包括三个部分:节点(Node)、头节点(Head)和指针(Pointer)。每个节点都包含一个元素和一个指向下一个节点的指针。头节点是链表的入口,用于指示链表的第一个节点。指针用于遍历链表,将一个节点连接到另一个节点。
在Python中,可以使用类来定义链表。下面是一个单链表的实现示例:
```
class SingleNode(object):
def __init__(self, item):
self.item = item
self.next = None
class SingleLinkedList(object):
def __init__(self):
self.head = None
def is_empty(self):
return self.head is None
def length(self):
count = 0
cur = self.head
while cur != None:
count += 1
cur = cur.next
return count
def travel(self):
cur = self.head
while cur != None:
print(cur.item, end=" ")
cur = cur.next
def add(self, item):
node = SingleNode(item)
node.next = self.head
self.head = node
def append(self, item):
node = SingleNode(item)
if self.is_empty():
self.head = node
else:
cur = self.head
while cur.next != None:
cur = cur.next
cur.next = node
```
上述代码实现了单链表的基本操作,包括判断链表是否为空、获取链表的长度、遍历链表、在头部添加元素和在尾部添加元素。
阅读全文