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

二叉树的节点类,析构函数中这能删除所有节点吗?//不是while(1),该如何解决

2012-05-29 
二叉树的节点类,析构函数中这能删除所有节点吗?//不是while(1)C/C++ code~Node (void) {if (m_pParent) {i

二叉树的节点类,析构函数中这能删除所有节点吗?//不是while(1)

C/C++ code
        ~Node (void) {            if (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;            }        }        void* m_pData; // 数据指针        Node* m_pParent; // 父节点指针        Node* m_pLeft; // 左节点指针        Node* m_pRight; // 右节点指针


[解决办法]
lz 咋写的啊,你写一个节点类,然后在写一个二叉树类,二叉树类维护根节点即可

热点排行