我本人写了个二叉树,用递归的方法,但是我遇到问题了,我定义不了头节点,郁闷,大家帮忙看看把,谢谢了!!
#include<iostream.h> class Node { friend class TREE; int DATA; Node *LEFT; Node *RIGHT; }; class TREE { private: Node *ROOT; public: TREE() { ROOT=0; } void Insert(int data,Node *root) { if(root==0) { root=new Node; root->LEFT=root->RIGHT=0; root->DATA=data; } else { if(data<root->DATA) Insert(data,root->LEFT); else Insert(data,root->RIGHT); } } void Display(Node *root) { if(root!=NULL) { Display(root->LEFT); cout<<root->DATA<<endl; Display(root->RIGHT); } } }; int main() { TREE T; Node *root=0; T.Insert(20,root); //我想让20成为头节点,但我不知道怎么搞? T.Insert(52,root); T.Insert(42,root); T.Insert(75,root); T.Insert(1,root); T.Insert(5,root); T.Insert(6,root); T.Insert(9,root); T.Display(root); return 0; }