欢迎来到天天文库
浏览记录
ID:56778050
大小:54.00 KB
页数:6页
时间:2020-07-09
《数据与结构算法线性表实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告2015-2016学年第二学期开课单位:年级专业:课程名称:数据结构与算法-课内实验主讲教师:课程序号:课程代码:实验名称:线性表学号:姓名:《数据结构与算法-课内实验》实验报告实验名称线性表学号年级、专业实验地点姓名实验学时4实验日期成绩评定□优□良□中□及格□不及格教师签字:实验目的:1.了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。2.重点是线性表的基本操作在两种存储结构上的实现。3.通过本次实验帮助学生加深对链表的理解,并加以应用;实验内容:1、参考课本代码,完成顺序表的定义、初始化、插入、删除
2、、定位、合并等函数的编写,并自己独立完成顺序表的输出函数编写。要求在主函数中实现对以上操作的调用,实现以下功能:(1)定义三个顺序表La,Lb,Lc,并调用初始化函数实现三个表的初始化。(2)调用插入函数依次往La中插入元素1,3,5,7,9。(3)调用插入函数依次往Lb中插入元素2,4,6,8,10。(4)调用输出函数输出La和Lb。(5)调用删除函数删除La的第1个元素并输出删除后的La。(6)由用户输入一个数,然后通过定位函数查找这个数是否在Lb中,如果在则删除这个数并输出删除后的Lb,如果不在则不做任何操作。(7)调用合
3、并函数将La和Lb合并成一个顺序表放到Lc,并输出合并后的Lc的元素序列。2、参考课本代码,完成单链表的定义、创建、插入、删除、取值、合并等函数的编写,并自己独立完成单链表的输出函数编写。要求在主函数中实现对以上操作的调用,实现以下功能:(1)定义三个单链表link1,link2,link3。(2)调用创建函数实现link1和link2的创建,并分别调用输出函数输出创建后的link1和link2的元素序列。(3)调用插入函数往link1中插入一个元素(插入的位置和元素由用户输入),插入成功后输出插入后的link1的元素序列。(4
4、)调用删除函数删除link1中一个元素(删除的位置由用户输入),删除成功后输出删除后的link1的元素序列。(5)调用取值函数取得link1的一个元素的值并输出(取值的位置由用户输入)。(6)调用合并函数将link1和link2合并成一个单链表放到link3,并输出合并后的link3的元素序列。实验代码:1、#include"SeqListg.h"voiddisplay(SqListt){inti;for(i=0;i5、Lb,Lc;InitList_Sq(La);InitList_Sq(Lb);InitList_Sq(Lc);inti,j,x;j=1;for(i=1;i<=5;i++){ListInsert_Sq(La,i,j);j=j+2;}printf("La插入后的元素序列为:");display(La);j=2;for(i=1;i<=5;i++){ListInsert_Sq(Lb,i,j);j=j+2;}printf("Lb插入后的元素序列为:");display(Lb);ListDelete_Sq(La,1,j);printf("6、La删除元素后的新序列:");display(La);printf("你要在Lb中查找的数:");scanf("%d",&x);i=LocateElem_Sq(Lb,x);if(i!=0){printf("findit!");ListDelete_Sq(Lb,i,j);printf("Lb删除元素后的新序列:");display(Lb);}elseprintf("notfindit!");MergeList_Sq(La,Lb,Lc);printf("Lc合并后元素的序列:");display(Lc);return7、0;}2、#include"LinkListg.h"voiddisplay(LinkListt){LinkListp;p=t->next;while(p!=NULL){printf("%d",p->data);p=p->next;}}intmain(){LinkListlink1,link2,link3;printf("请逆序输入5个数:");CreateList_L1(link1,5);printf("link1元素序列为:");display(link1);printf("请顺序输入5个数:");CreateList_L8、2(link2,5);printf("link2元素序列为:");display(link2);printf("请输入你所要在link1中插入的位置和元素值:");inti,x;scanf("%d%d",&i,&x);ListInsert_L(link1,i
5、Lb,Lc;InitList_Sq(La);InitList_Sq(Lb);InitList_Sq(Lc);inti,j,x;j=1;for(i=1;i<=5;i++){ListInsert_Sq(La,i,j);j=j+2;}printf("La插入后的元素序列为:");display(La);j=2;for(i=1;i<=5;i++){ListInsert_Sq(Lb,i,j);j=j+2;}printf("Lb插入后的元素序列为:");display(Lb);ListDelete_Sq(La,1,j);printf("
6、La删除元素后的新序列:");display(La);printf("你要在Lb中查找的数:");scanf("%d",&x);i=LocateElem_Sq(Lb,x);if(i!=0){printf("findit!");ListDelete_Sq(Lb,i,j);printf("Lb删除元素后的新序列:");display(Lb);}elseprintf("notfindit!");MergeList_Sq(La,Lb,Lc);printf("Lc合并后元素的序列:");display(Lc);return
7、0;}2、#include"LinkListg.h"voiddisplay(LinkListt){LinkListp;p=t->next;while(p!=NULL){printf("%d",p->data);p=p->next;}}intmain(){LinkListlink1,link2,link3;printf("请逆序输入5个数:");CreateList_L1(link1,5);printf("link1元素序列为:");display(link1);printf("请顺序输入5个数:");CreateList_L
8、2(link2,5);printf("link2元素序列为:");display(link2);printf("请输入你所要在link1中插入的位置和元素值:");inti,x;scanf("%d%d",&i,&x);ListInsert_L(link1,i
此文档下载收益归作者所有