溫馨提示×

c++ listnode的構(gòu)造和析構(gòu)

c++
小樊
90
2024-07-24 14:28:12
欄目: 編程語言

在C++中,可以通過定義一個ListNode類來實現(xiàn)鏈表節(jié)點的構(gòu)造和析構(gòu)。

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

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

在上面的代碼中,ListNode類有一個整型成員變量val和一個指向下一個節(jié)點的指針next。構(gòu)造函數(shù)ListNode(int value)用于初始化節(jié)點的數(shù)值,并將next指針指向空指針。析構(gòu)函數(shù)~ListNode()用于遞歸地刪除節(jié)點和其后續(xù)節(jié)點,確保釋放所有節(jié)點的內(nèi)存空間。

使用示例:

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;
}

在上面的示例中,創(chuàng)建了三個節(jié)點并將它們連接在一起,然后通過delete操作銷毀第一個節(jié)點,其析構(gòu)函數(shù)會遞歸地刪除后續(xù)節(jié)點,確保釋放所有節(jié)點的內(nèi)存空間。

0