二叉树的节点类,析构函数中这能删除所有节点吗?//不是while(1),该如何解决
二叉树的节点类,析构函数中这能删除所有节点吗?//不是while(1)
------解决方案--------------------
lz 咋写的啊,你写一个节点类,然后在写一个二叉树类,二叉树类维护根节点即可
- 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 咋写的啊,你写一个节点类,然后在写一个二叉树类,二叉树类维护根节点即可