程序猿浩林
2017-11-19 17:37
照着老师的编写的,不知道哪出错了T-T
Tree::Tree() { m_pRoot = new Node(); } Tree::~Tree() { DeleteNode(0, NULL); /*m_pRoot->DeleteNode();*/ //单参数的情况下可以用这个 } Node * Tree::SearchNode(int nodeIndex) { m_pRoot->SearchNode(nodeIndex); return m_pRoot; } bool Tree::AddNode(int nodeIndex, int direction, Node * pNode) { Node *temp = SearchNode(nodeIndex); if (temp == NULL) { return false; } Node *node = new Node(); if (node == NULL) { return false; } node->index = pNode->index; node->data = pNode->data; node->pParent = temp; if (direction == 0) { if (temp->pLChild != NULL) { return false; } temp->pLChild = node; } if (direction == 1) { if (temp->pRChild != NULL) { return false; } temp->pRChild = node; } return true; } bool Tree::DeleteNode(int nodeIndex, Node * pNode) { Node *temp = SearchNode(nodeIndex); if (temp == NULL) { return false; } if (pNode != NULL) { pNode->index = temp->index; pNode->data = temp->data; } temp->DeleteNode(); return true; } void Tree::PreorderTraverse() { m_pRoot->PreorderTraverse(); } void Tree::InorderTraverse() { m_pRoot->InorderTraverse(); } void Tree::PostorderTraverse() { m_pRoot->PostorderTraverse(); }
好吧,是我搞错了!T-T
Node * Tree::SearchNode(int nodeIndex)
{
m_pRoot->SearchNode(nodeIndex);
return m_pRoot;
}
要改回这个
Node * Tree::SearchNode(int nodeIndex)
{
return m_pRoot->SearchNode(nodeIndex);
}
才行,犯了个小错误
数据结构探险之树篇
56500 学习 · 121 问题
相似问题