温馨提示×

c++ listnode的构造和析构

c++
小樊
90
2024-07-24 14:28:12
栏目: 编程语言

在C++中,可以通过定义一个ListNode类来实现链表节点的构造和析构。

class ListNode {
public:
    int val;
    ListNode* next;

    ListNode(int value) : val(value), next(nullptr) {}
    ~ListNode() {
        delete next;
    }
};

在上面的代码中,ListNode类有一个整型成员变量val和一个指向下一个节点的指针next。构造函数ListNode(int value)用于初始化节点的数值,并将next指针指向空指针。析构函数~ListNode()用于递归地删除节点和其后续节点,确保释放所有节点的内存空间。

使用示例:

int main() {
    ListNode* node1 = new ListNode(1);
    ListNode* node2 = new ListNode(2);
    ListNode* node3 = new ListNode(3);

    node1->next = node2;
    node2->next = node3;

    delete node1;

    return 0;
}

在上面的示例中,创建了三个节点并将它们连接在一起,然后通过delete操作销毁第一个节点,其析构函数会递归地删除后续节点,确保释放所有节点的内存空间。

0