对二叉树的操作实验报告实验名称:对二叉树的操作
实验内容:1、按中序遍历结果从小到大的顺序建立一棵含有 n 个结点的二叉树,采用二叉链表存储;2、中序、前序、后序改二叉链表;3、输入一个数据,访问任一结点进行查找,如果有则返回“查找成功
”,没有则返回“查找不成功
”4、设计一个析构函数,释放结点空间
实验代码:#includeclass node{private:int data;class node *left;class node *right;void Release(class node *a);public:void create(int a);void inorder(class node *q);void preorder(class node *m);void postorder(class node *n);void seek(class node *l,int k);~node();};typedef class node treenode;//重定义二叉树结点类型
typedef treenode *zz;//重新定义指针
zz root,p;void node::create(int x){zz s;int flag=0;//结点成功插入后 flag=1
s=new treenode;s->data=x;s->left=NULL;s->right=NULL;if(root==NULL)root=s;else1{p=root;while(
flag)if(xdata)if(p->left==NULL){p->left=s;flag=1;}elsep=p->left;elseif(p->right==NULL){p->right=s;flag=1; }elsep=p->right;}}void node::inorder(zz q){if(q