在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操作銷毀第一個節點,其析構函數會遞歸地刪除后續節點,確保釋放所有節點的內存空間。