《《数据结构》实验报告题1.doc》由会员分享,可在线阅读,更多相关《《数据结构》实验报告题1.doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一课程名称:有序链表的合并班级:嵌入式2班完成日期:10月7日姓名:张燕学号:72指导教师:王群芳实验名称:线性表的基本操作实验序号:实验成绩:一、实验目的及要求熟练掌握线性表的基本操作在两种存储结构上的实现,其中以链表的操作和应用作为重点内容。二、实验环境硬件:计算机 软件:Microsoft Visual C+三、实验内容以单链表作存储结构,实现有序表的合并。四、源程序清单: #include#includetypedef struct lnode int data; struct lnode *next; lnode,*linklist;void list_create(linkli
2、st &L,int sort) int i,n,data; linklist last,p; L=(linklist)malloc(sizeof(lnode); last=L; last-next=NULL; printf(请输入第%d链表长度:,sort); scanf(%d,&n); printf(输入线性表中的元素:); for(i=1;idata); last-next=p; last=p; last-next=NULL; /list_createvoid list_marge(linklist &la,linklist &lb,linklist &lc) linklist pa,pb
3、,pc; pc=lc=la; pa=la-next;pb=lb-next; while(pa&pb) if(pa-datadata) pc-next=pa;pc=pa;pa=pa-next; else pc-next=pb;pc=pb;pb=pb-next; if(pa) pc-next=pa; else pc-next=pb; free(pb); /list_margevoid print(linklist List) linklist p; p=List-next; while(p) printf(%d ,p-data); p=p-next; printf(n);/print_listin
4、t main() linklist L1,L2,L3; list_create(L1,1); list_create(L2,2); printf(合并前:n); print(L1); print(L2); printf(合并后:n); list_marge(L1,L2,L3);print(L3); return 0; 五、实验结果:六、总结:通过本次对有序链表合并程序的设计,我清楚地认识到了以数据结构为基础程序设计的设计方法,其中了解到了用顺序表和单链表作为存储结构的优点和不足,学到了用不同方法来设计程序的各种不同的操作;但在实验设计的具体操作中我仍然存在着各种错误,特别是对有序表的合并操作、各种限制条件的问题以及分配存储空间、结点的指向不能很好的掌握;在今后的学习中,我会多读些程序3