数据结构用c语言写:创建树,并进行先序,中序,后序遍历!

如题所述

#include <iostream>
using namespace std;

class Node
{
public:
Node(){ this->pLchild = this->pRchild = NULL; }
char data;
Node * pLchild;
Node * pRchild;
};
Node * CreateTree()
{
Node * root = new Node;
root->data = 'A';
Node * pB = new Node;
pB->data = 'B';
Node * pC = new Node;
pC->data = 'C';
Node * pD = new Node;
pD->data = 'D';
Node * pE = new Node;
pE->data = 'E';

root->pLchild = pB;
root->pRchild = pC;
pC->pLchild = pD;
pD->pRchild = pE;

return root;
}
void InTraverseTree(Node * pT) //中序遍历
{
if (NULL == pT)
return;
else
{
InTraverseTree(pT->pLchild);
cout << pT->data;
InTraverseTree(pT->pRchild);

}
}
void PostTraverseTree(Node * pT) //后序遍历
{
if (NULL == pT)
return;
else
{
PostTraverseTree(pT->pLchild);

PostTraverseTree(pT->pRchild);
cout << pT->data;
}
}
void PreTraverseTree(Node * pT) //先序遍历
{
if (NULL==pT)
{
return;
}
else
{
cout << pT->data;
PreTraverseTree(pT->pLchild);
PreTraverseTree(pT->pRchild);
}
}
void destroyTree(Node * PT) //销毁二叉树
{
if (NULL == PT)
return;
else
{
destroyTree(PT->pLchild);
destroyTree(PT->pRchild);
delete PT;
}

}
int main()
{
Node * pT = CreateTree();
cout << "先序遍历";

PreTraverseTree(pT);

destroyTree(pT);
/*cout << "\n中序遍历" ;
InTraverseTree(pT);
cout << "\n后序遍历";
PostTraverseTree(pT);*/
// PreTraverseTree(pT);
//cout << endl;
system("pause");
return 0;
}
用C++写的 不过跟C没什么区别追问

怎么运行不出来了

温馨提示:答案为网友推荐,仅供参考