我有以下问题:我使用一个称为Node的类创建了一个表示二进制搜索树的数据结构。每个节点通过指向左子节点和右子节点的指针连接。
将要构建的树很大(最多1百万个节点),所以我需要一种在每次树构建后释放内存的方法。
树由指向根节点的指针表示:
BST_Node *bst = new BST_Node(...);
我已经尝试过使用delete bst
并创建一个destructor
~BST_Node(){delete left; delete right;}
,但它们都不能解决问题。内存使用率达到99%(8GB),然后我必须终止该过程以避免PC重新启动。
我该如何解决?谢谢
在C ++中,此代码: