数据结构实验报告

数据结构实验报告

ID:23235295

大小:266.00 KB

页数:20页

时间:2018-11-05

数据结构实验报告_第1页
数据结构实验报告_第2页
数据结构实验报告_第3页
数据结构实验报告_第4页
数据结构实验报告_第5页
资源描述:

《数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算机科学与技术学院实验报告课程名称:数据结构专业:计算机科学与技术班级:2011级1班学号:201113137024姓名:镇方权指导老师:邱奕敏20实验一1.实验题目设有两个无头结点的单链表,头指针分别为ha,hb,链中有数据域data,链域next,两链表的数据都按递增序存放,现要求将hb表归到ha表中,且归并后ha仍递增序,归并中ha表中已有的数据若hb中也有,则hb中的数据不归并到ha中,hb的链表在算法中不允许破坏。2.程序核心代码structLNode{intdata;structLNode*next;};typedefstru

2、ctLNode*LinkList;LinkListUnion(LinkListha,LinkListhb){LinkListhead=(LNode*)malloc(sizeof(LNode));head->next=ha;LNode*pa,*pb,*pTmp;pa=ha->next;pb=hb->next;pTmp=ha;while(pa&&pb){if(pa->datadata){pTmp=pa;pa=pa->next;}elseif(pa->data>pb->data){LNode*Lr=(LNode*)malloc(size

3、of(LNode));Lr->data=pb->data;Lr->next=pa;pTmp->next=Lr;pTmp=Lr;pb=pb->next;}else{20pTmp=pa;pa=pa->next;pb=pb->next;}}if(pa){pTmp->next=pa;}else{while(pb){LNode*Lr=(LNode*)malloc(sizeof(LNode));Lr->data=pb->data;pTmp->next=Lr;pTmp=Lr;pb=pb->next;}pTmp->next=NULL;}free(head)

4、;returnha;}intListInsert(LinkListL,inti,inte){intj=0;LinkListp=L,s;while(p&&jnext;j++;}if(!p

5、

6、j>i-1)return0;s=(LinkList)malloc(sizeof(structLNode));/*生成新结点*/s->data=e;/*插入L中*/s->next=p->next;p->next=s;return1;}intmain(){LinkListha,hb;intn,i;intdata;InitList(&ha)

7、;printf("请输入ha中数据的个数:");20scanf("%d",&n);printf("请依次输入ha中的数据:");for(inti=1;i<=n;i++){scanf("%d",&data);ListInsert(ha,i,data);}printf("ha=");LinkListp=ha->next;while(p){printf("%d",p->data);p=p->next;}printf("");InitList(&hb);printf("请输入hb中数据的个数:");scanf("%d",&n);printf

8、("请依次输入hb中的数据:");for(i=1;i<=n;i++){scanf("%d",&data);ListInsert(hb,i,data);}printf("hb=");p=hb->next;while(p){printf("%d",p->data);p=p->next;}printf("");printf("hb归并到ha后,新的ha=");p=Union(ha,hb)->next;while(p){printf("%d",p->data);p=p->next;}printf("");system("pause");

9、return0;}201.运行结果4.实验总结要注意归并时若ha表中已有的数据若hb中也有,则hb中的数据不归并到ha中,hb的链表在算法中不允许破坏。20实验二1.实验题目结合书上第41页的例子(一元多项式相加),采用链式存储结构,将两个线性链表表示的一元多项式相加,并输出。2.程序核心代码typedefstructLNode{intdata;//存储系数intflag;//存储对应幂数structLNode*next;}LNode;//建立带头结点的单链表,n项多项式voidCreateList(LNode**L,intn){LNode

10、*p;inti=0;*L=(LNode*)malloc(sizeof(LNode));(*L)->next=NULL;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。