数据结构实验报告实验2

上传人:夏** 文档编号:511830247 上传时间:2022-12-09 格式:DOCX 页数:7 大小:109.50KB
返回 下载 相关 举报
数据结构实验报告实验2_第1页
第1页 / 共7页
数据结构实验报告实验2_第2页
第2页 / 共7页
数据结构实验报告实验2_第3页
第3页 / 共7页
数据结构实验报告实验2_第4页
第4页 / 共7页
数据结构实验报告实验2_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据结构实验报告实验2》由会员分享,可在线阅读,更多相关《数据结构实验报告实验2(7页珍藏版)》请在金锄头文库上搜索。

1、At幺伽兀孝TAIYUAN UNIVEfiSIIY OF TECHNOLOGY本科实验报告课程名称:数据结构实验项目:树形结构实验地点:迎西校区逸夫楼302专业班级:软件 1109 学号: 2011004872学生姓名:栗永春指导教师:牛之贤年月树形结构、实验目的和要求目的与要求二、实验内容和原理三、主要仪器设备四、操作方法与实验步骤列出调试通过的源程序。习题1:/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

2、x Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx*1. 编写递归算法,计算二叉树中叶子结点的数目。*/ Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

3、x Tx Tx Tx Tx Tx Tx Tx Tx /#includevstdio.h#includevmalloc.h int count = 0;struct node char info;struct node *llink,*rlink; ;typedef struct node NODE;NODE *creat()char x;NODE *p;scanf(%c,&x);printf(%c,x);if(x!=.)p=(NODE *)malloc(sizeof(NODE); p-info=x;p-llink=creat(); p-rlink=creat();elsep=NULL; ret

4、urn p;void run(NODE *t)if(t)run(t-llink);run(t-rlink); printf(%c,t-info);if( (t-llink) = NULL) & (t-rlink) = NULL) count +;void main()NODE *T;printf(PLease input a tree:n);T=creat();printf(n);if(!T)printf(This is a empty binary tree.);else printf(The result of post travese is:n ); run(T);printf(总共有叶

5、子节点数%d, count );printf(n);习题2:* 用单链表ha存储多项式A (x ) =a0+alxl+a2x2+anxn(其中al为非零系* 数),用单链表hb存储多项式B (x ) =b0+b1x1+b2x2+bmxm(其中bj为 * 非零系数),要求计算C (x ) = A (x ) +B (x ),结果存到单链表he中* 。试写出程序。*/Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

6、x Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx /#include vstdio.h#include vmalloc.htypedef struct dxsint a;struct dxs *next;Dxs, *Dxss;函数声明部分void Structure( Dxss head, int n ); 多项式录入void Show( Dxss head );/ 显示多项式void Add( Dxss headl, Dxss head2, Dxss head3 )

7、;将多项式相加void frees( Dxss head ); 释放存储空间void main()Dxss ha, hb, hc;int n;为多项式申请头结点空间ha = (Dxss)malloc(sizeof(Dxs);hb = (Dxss)malloc(sizeof(Dxs);hc = (Dxss)malloc(sizeof(Dxs);从用户处录入多项式的参数printf(请输入多项式1的项数5);scanf(%d, & n);Structure( ha, n );printf(请输入多项式的2项数5);scanf(%d, & n);Structure( hb, n );将多项式进行相加

8、Add(ha, hb, hc);printf(多项式HC的式子是5);Show( hc );将构建的多项式显示出来frees( ha );/释放掉申请的空间frees( hb );frees( hc );printf(nn);void Structure( Dxss head, int n ) 多项式录入Dxss p, q;int a;printf(请输入要录入系统的多项式的系数,从次数较小的开始n); p = head;doscanf(%d, &a );q = (Dxss)malloc( sizeof(Dxs);q-a = a;p-next = q;q-next = NULL;p = q;w

9、hile(_n);void Show( Dxss head ) / 显示多项式int m = 0;Dxss p;p = head-next;while( p != NULL )printf(%d*XA%d, p-a, m+ );p = p-next;if( p != NULL)printf(+);printf(n);将多项式相加void Add( Dxss headl, Dxss head2, Dxss head3 ) Dxss p, q, l, m;p = head1-next;q = head2-next;l= head3;while(p != NULL) & (q != NULL )m

10、= (Dxss)malloc(sizeof(Dxs); m-a = p-a + q-a; m-next = NULL;l-next = m;1 = m;p = p-next;q = q-next;whi1e( p != NULL )m = (Dxss)malloc(sizeof(Dxs);m-a = p-a;1-next = m;1 = m;p = p-next;whi1e( q != NULL )m = (Dxss)ma11oc(sizeof(Dxs);m-a = q-a;1-next = m;1 = m;q = q-next;1-next = NULL;void frees( Dxss head ) 释放存储空间 Dxss p, q;p = head;whi1e( p != NULL )q = p;p = p-next; free(q);五、实验数据记录和处理列出上面程序对应的运行结果。注:填写内容用 5 号,宋体,单倍行距

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号