python 语言顺序表和链表如何实现?
在 Python 中,可以使用列表(List)来实现顺序表(也称为动态数组),而可以使用类和指针来实现链表。
1、实现顺序表
在 Python 中,列表就是动态数组,可以方便地实现顺序表。列表是可变的序列,可以用下标访问元素,同时也支持切片、迭代等常用操作。以下是一些操作列表的示例代码:
# 创建一个空列表
my_list = []
# 向列表中添加元素
my_list.append(1)
my_list.append(2)
my_list.append(3)
# 访问列表中的元素
print(my_list[0]) # 输出 1
# 修改列表中的元素
my_list[0] = 10
# 删除列表中的元素
del my_list[1]
# 切片操作
print(my_list[1:]) # 输出 [3]
2、实现链表
在 Python 中,可以使用类和指针来实现链表。链表中的每个节点都包含一个值和一个指向下一个节点的指针。以下是一个简单的链表实现:
# 链表节点类
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 创建一个链表
head = ListNode(1)
node1 = ListNode(2)
node2 = ListNode(3)
head.next = node1
node1.next = node2
# 遍历链表
current = head
while current is not None:
print(current.val)
current = current.next
# 在链表中插入节点
new_node = ListNode(4)
node1.next = new_node
new_node.next = node2
# 从链表中删除节点
node1.next = node2
以上是一个简单的链表实现,其中包含了创建链表、遍历链表、插入节点和删除节点等操作。实际应用中,可能需要使用更复杂的链表数据结构,如双向链表、循环链表等。