91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

python單鏈表怎么刪除節點

小億
61
2023-12-06 19:55:13
欄目: 編程語言

要刪除一個節點,需要找到該節點的前一個節點,然后將它的next指針指向要刪除節點的下一個節點。

以下是一個示例代碼,演示如何刪除單鏈表中的節點:

# 定義節點類
class ListNode:
    def __init__(self, data):
        self.data = data
        self.next = None

# 定義單鏈表類
class LinkedList:
    def __init__(self):
        self.head = None

    # 在鏈表尾部插入節點
    def append(self, data):
        new_node = ListNode(data)
        if self.head is None:
            self.head = new_node
        else:
            current = self.head
            while current.next:
                current = current.next
            current.next = new_node

    # 刪除指定節點
    def delete(self, data):
        if self.head is None:
            return

        # 如果要刪除的節點是頭節點
        if self.head.data == data:
            self.head = self.head.next
            return

        current = self.head
        while current.next:
            if current.next.data == data:
                current.next = current.next.next
                return
            current = current.next

    # 打印鏈表
    def print_list(self):
        current = self.head
        while current:
            print(current.data, end=" ")
            current = current.next
        print()

# 創建一個鏈表對象
llist = LinkedList()

# 在鏈表中插入節點
llist.append(1)
llist.append(2)
llist.append(3)
llist.append(4)
llist.append(5)

# 打印原始鏈表
print("原始鏈表:")
llist.print_list()

# 刪除節點 3
llist.delete(3)

# 打印刪除節點后的鏈表
print("刪除節點后的鏈表:")
llist.print_list()

運行上述代碼,輸出結果為:

原始鏈表:
1 2 3 4 5 
刪除節點后的鏈表:
1 2 4 5 

可以看到,節點3被成功刪除了。

0
洮南市| 申扎县| 南木林县| 顺义区| 潼关县| 柘荣县| 含山县| 玛沁县| 定安县| 鹰潭市| 镇雄县| 大石桥市| 梓潼县| 司法| 永安市| 崇阳县| 大关县| 扎兰屯市| 满洲里市| 鹿泉市| 巴林右旗| 榆树市| 海城市| 南安市| 奉贤区| 南开区| 雷山县| 榕江县| 绥棱县| 苗栗县| 延津县| 新河县| 荣昌县| 客服| 沂水县| 同德县| 新丰县| 武邑县| 旺苍县| 饶河县| 远安县|