中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++單鏈表的刪除操作是怎樣的

c++
小樊
82
2024-07-16 20:15:47
欄目: 編程語言

在C++中,刪除單鏈表中的節點通常涉及以下步驟:

  1. 遍歷鏈表,找到要刪除的節點的前一個節點。
  2. 將前一個節點的next指針指向要刪除節點的下一個節點。
  3. 釋放要刪除的節點的內存空間。

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

#include <iostream>

// 定義鏈表節點結構
struct Node {
    int data;
    Node* next;
    Node(int val) : data(val), next(nullptr) {}
};

// 刪除鏈表節點函數
void deleteNode(Node* head, int val) {
    Node* prev = head;
    Node* current = head->next;

    while (current != nullptr) {
        if (current->data == val) {
            prev->next = current->next;
            delete current;
            break;
        }

        prev = current;
        current = current->next;
    }
}

// 打印鏈表函數
void printList(Node* head) {
    Node* current = head->next;

    while (current != nullptr) {
        std::cout << current->data << " ";
        current = current->next;
    }
    std::cout << std::endl;
}

int main() {
    // 創建鏈表
    Node* head = new Node(0);
    head->next = new Node(1);
    head->next->next = new Node(2);
    head->next->next->next = new Node(3);

    std::cout << "原始鏈表:";
    printList(head);

    // 刪除節點
    deleteNode(head, 2);

    std::cout << "刪除節點后的鏈表:";
    printList(head);

    return 0;
}

以上代碼首先定義了一個鏈表節點結構Node,然后實現了刪除節點的函數deleteNode和打印鏈表的函數printList。在main函數中創建了一個包含四個節點的鏈表,然后刪除了值為2的節點,最后打印出刪除節點后的鏈表。

0
锡林郭勒盟| 佛冈县| 延庆县| 静海县| 宁城县| 酒泉市| 文山县| 上饶市| 繁峙县| 格尔木市| 祁东县| 万载县| 化德县| 临湘市| 吉木萨尔县| 滨州市| 兴业县| 美姑县| 诸城市| 镇巴县| 社会| 邢台县| 龙江县| 林西县| 肇州县| 双辽市| 湘潭市| 株洲县| 南木林县| 紫金县| 三门县| 旅游| 南华县| 崇仁县| 门源| 金门县| 和平县| 四子王旗| 白银市| 长葛市| 剑河县|