C++单链表的删除操作是怎样的

   2024-10-06 5040
核心提示:在C++中,删除单链表中的节点通常涉及以下步骤:遍历链表,找到要删除的节点的前一个节点。将前一个节点的next指针指向要删除节

在C++中,删除单链表中的节点通常涉及以下步骤:

遍历链表,找到要删除的节点的前一个节点。将前一个节点的next指针指向要删除节点的下一个节点。释放要删除的节点的内存空间。

下面是一个示例代码,演示如何删除单链表中的节点:

#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的节点,最后打印出删除节点后的链表。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号