电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

对二叉树的操作实验报告

对二叉树的操作实验报告_第1页
1/5
对二叉树的操作实验报告_第2页
2/5
对二叉树的操作实验报告_第3页
3/5
对二叉树的操作实验报告实验名称:对二叉树的操作。实验内容: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!=NULL){inorder(q->left);cout<data<<" ";inorder(q->right);}}void node::preorder(zz m){if (m==NULL)return;else{cout<data<<" ";preorder(m->left);preorder(m->right);}}void node::postorder(zz n){2if (n==NULL)return;else{postorder(n->left);postorder(n->right);cout<data<<" ";}}void node::seek(class node *l,int k){if(l==NULL)cout<<"查找失败,不存在该数据。"<data==k)cout<<"查找成功。"<data)seek(l->left,k);elseseek(l->right,k);}zz a;node::~node(){Release(a);};void node::Release(zz a){if (a!=NULL){Release(a->left);Release(a->right);delete a;}}void main(){node tree;int k,a,n,m;root=NULL;cout<<"输入将要构建的二叉树的结点个数:";cin>>n; cout<<"请输入各结点数据:"<>k;tree.create(k);}p=root;cout<<"中序遍历结果:";tree.inorder(p);cout<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

对二叉树的操作实验报告

您可能关注的文档

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群