二叉树建立及后序前序输出.doc_第1页
二叉树建立及后序前序输出.doc_第2页
二叉树建立及后序前序输出.doc_第3页
二叉树建立及后序前序输出.doc_第4页
二叉树建立及后序前序输出.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计报告题目: 二叉树的建立及先序后序输出 学号: 姓名: 指导老师: 时间: 2011年11月17日星期四 评语:程序源代码:#include /使用scanf与printf函数都被定义在stdio.h里,因此在使用scanf函数时要加上#include #include typedef struct jiedian1 char data; struct jiedian1 *lchild, *rchild;BT;BT * createbt(void)/建立树 BT *q; struct jiedian1 *s100; int j, bianhao, shuzhi; printf(bianhao shuzhi = ); scanf(%d %c, &bianhao,&shuzhi); /%d 读入十进制整数,%c 读入一个字符,分别赋给“变量”与“数值” while( bianhao != 0 & shuzhi!= ) q= (BT*)malloc(sizeof(BT); /建立一个新结点q q-data = shuzhi; q-lchild = NULL; q-rchild = NULL; sbianhao = q; / 新结点地址存入s指针数组中 if( bianhao != 1 ) / i = 1,对应的结点是根结点 j = bianhao/ 2; / 求双亲结点的编号j if( bianhao % 2 = 0 ) sj-lchild = q; / q结点编号为偶数则挂在双亲结点j的左边 else sj-rchild = q; / q结点编号为奇数则挂在双亲结点j的右边 printf(bianhao shuzhi = ); scanf(%d %c, &bianhao,&shuzhi); return s1; /返回根结点地址/ 先序遍历二叉树(递归算法)void dlr_order(BT *bt) if( bt != NULL ) printf(%c , bt-data); dlr_order(bt-lchild); dlr_order(bt-rchild); / 后序遍历二叉树(递归算法)void lrd_order(BT *bt) if( bt != NULL ) lrd_order(bt-lchild); lrd_order(bt-rchild); printf(%c , bt-data); int main()/主函数 BT *bt; int i, loop; bt = createbt(); printf(n); while(loop) printf(1-先序遍历二叉树n); printf(2-后序遍历二叉树n); printf(请选择项号: ); scanf(%d, &i); if(i = 1 & i = 2) switch(i) case 1: printf(n先序遍历二叉树n); dlr_order(bt); printf(nn); break; case 2: printf(n后序遍历二叉树n); lrd_order(bt); printf(nn); break; printf(继续?1-继续, 0-结束: ); scanf(%d, &loop); printf(nn); /system(PAUSE); return 0;l 程序建立是遇到的问题:刚开始按照书上的代码,建立二叉树的方法是按照先序输入数值。但是这样使程序变的没有实际用处而且与题意不符合。l 解决的方法:根据二叉树父亲节点的编号值是左孩子节点的编号值得二分之一倍,右孩子节点编号值在左孩子节点的编号值基础上加一,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论