首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

平衡二叉树的程序//析构函数上是从最低层的叶子节点开始析构的吗?解决思路

2012-06-18 
平衡二叉树的程序//析构函数上是从最低层的叶子节点开始析构的吗?C/C++ code~Node (void) {if (m_pParent)

平衡二叉树的程序//析构函数上是从最低层的叶子节点开始析构的吗?

C/C++ code
    ~Node (void) {            if (m_pParent) {//m_pParent节点类的父指针                if (m_pParent -> m_pLeft == this)//节点类的左指针                    m_pParent -> m_pLeft = NULL;                else                if (m_pParent -> m_pRight == this)//节点类的右指针                    m_pParent -> m_pRight = NULL;            }            if (m_pLeft) {                delete m_pLeft;                m_pLeft = NULL;            }            if (m_pRight) {                delete m_pRight;                m_pRight = NULL;            }        }


[解决办法]
如果直接删除父节点,那子节点和父节点的联系就断了,那怎么删除子节点
我是这么想的

热点排行