欢迎来到天天文库
浏览记录
ID:57088425
大小:25.00 KB
页数:3页
时间:2020-08-01
《《数据结构》实验报告题1.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验一课程名称:有序链表的合并班级:嵌入式2班完成日期:10月7日姓名:张燕学号:1010431072指导教师:王群芳实验名称:线性表的基本操作实验序号:实验成绩:一、实验目的及要求熟练掌握线性表的基本操作在两种存储结构上的实现,其中以链表的操作和应用作为重点内容。二、实验环境硬件:计算机软件:MicrosoftVisualC++三、实验内容以单链表作存储结构,实现有序表的合并。四、源程序清单:#include#includetypedefstructlnod
2、e{intdata;structlnode*next;}lnode,*linklist;voidlist_create(linklist&L,intsort){inti,n,data;linklistlast,p;L=(linklist)malloc(sizeof(lnode));last=L;last->next=NULL;printf("请输入第%d链表长度:",sort);scanf("%d",&n);printf("输入线性表中的元素:");for(i=1;i<=n;i++){p=(lin
3、klist)malloc(sizeof(lnode));scanf("%d",&p->data);last->next=p;last=p;}last->next=NULL;}//list_createvoidlist_marge(linklist&la,linklist&lb,linklist&lc){linklistpa,pb,pc;pc=lc=la;pa=la->next;pb=lb->next;while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;
4、pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}if(pa)pc->next=pa;elsepc->next=pb;free(pb);}//list_margevoidprint(linklistList){linklistp;p=List->next;while(p){printf("%d",p->data);p=p->next;}printf("");}//print_listintmain(){linklistL1,L2,L
5、3;list_create(L1,1);list_create(L2,2);printf("合并前:");print(L1);print(L2);printf("合并后:");list_marge(L1,L2,L3);print(L3);return0;}五、实验结果:六、总结:通过本次对有序链表合并程序的设计,我清楚地认识到了以数据结构为基础程序设计的设计方法,其中了解到了用顺序表和单链表作为存储结构的优点和不足,学到了用不同方法来设计程序的各种不同的操作;但在实验设计的具体操作中我仍然
6、存在着各种错误,特别是对有序表的合并操作、各种限制条件的问题以及分配存储空间、结点的指向不能很好的掌握;在今后的学习中,我会多读些程序
此文档下载收益归作者所有