c语言中建了一个二叉树。怎么释放他的空间??

2024-12-21 17:57:21
推荐回答(3个)
回答1:

栈不需要手动释放,系统自己释放的;
而堆需要释放空间,调用函数释放,参数为根节点
void Freetree(BTree *root)
{
if(root!=NULL)
{
Freetree(root->lchild);
Freetree(root->rchild);
free(root); //当左右子结点都为空时,调用free,释放空间
}

}

回答2:

释放的话得先在堆上是被分配内从空间了的

比如你的二叉树,先在堆上malloc存储空间,再放数据到里面。
最后不使用的时候free(C)或者delete(C++)。

回答3:

建在堆上的话就delete,
建在栈上可以不管