数据结构系列之链表,熬夜整理最全面的HTML字符实体
在计算机科学中,链表是一种常见的数据结构,它由节点组成,每个节点包含数据和一个指向下一个节点的引用/指针。链表可以是单向的,双向的,循环的或非循环的。
以下是创建和操作链表的一些常见方法:
- 创建节点:
class Node:
def __init__(self, data):
self.data = data
self.next = None
- 在链表中插入节点:
def append(self, new_data):
new_node = Node(new_data)
if self.head is None:
self.head = new_node
return
last_node = self.head
while last_node.next is not None:
last_node = last_node.next
last_node.next = new_node
- 打印链表:
def printList(self):
temp = self.head
while temp:
print(temp.data, end=' ')
temp = temp.next
- 删除节点:
def deleteNode(self, key):
temp = self.head
if (temp is not None):
if (temp.data == key):
self.head = temp.next
temp = None
return
while (temp.data != key):
if (temp.next is None):
return
prev = temp
temp = temp.next
prev.next = temp.next
temp = None
- 在特定位置插入节点:
def insertAfter(self, prev_node, new_data):
if prev_node is None:
print("The given previous node cannot be null")
return
new_node = Node(new_data)
new_node.next = prev_node.next
prev_node.next = new_node
以上就是链表的一些基本操作,链表是非常重要的数据结构,它可以高效地支持数据的插入和删除操作。
注意:以上代码示例均为Python语言,链表操作的具体实现会根据不同的编程语言有所差异,但基本的思想是一致的。
评论已关闭