在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操作销毁第一个节点,其析构函数会递归地删除后续节点,确保释放所有节点的内存空间。