欢迎来到天天文库
浏览记录
ID:39212929
大小:78.96 KB
页数:7页
时间:2019-06-27
《数据结构实验报告一 线性表的顺序存储》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西南大学实验报告《数据结构与算法》课程2016-2017学年度第1学期专业年级2015级计算机与科学学院软件学院姓名吴玉洁学号222015321081101任课教师何国斌实验教师何国斌上机地点25-0913西南大学计算机与信息科学学院7《数据结构与算法》课程实验报告(一)实验题目线性表的链式存储实验时间2016-11-05一、实验目的及要求熟悉顺序表的实现原理,实现顺序表的构建,插入,删除,查找等操作,能编写出实现这些操作的源代码,具体实现要求:1.初始化顺序表2.采用尾插法插入元素3.判断顺序表是否为空4.判断元素位置5.删除元素6.释放顺序表二
2、、实验内容、过程和结果(实验主要内容的介绍、主要的操作步骤、程序代码和测试数据及实验结果)主要内容:实现顺序表的表示以及基本操作;主要的操作步骤:1.初始化顺序表2.采用尾插法依次插入a,b,c,d,e,3.输出顺序表L4.顺序表L长度5.判断顺序表L是否为空6.输出顺序表L的第3个元素7.判断元素a的位置8.在第4个元素位置上插入f元素9.删除L的第3个元素10.输出顺序表L11.释放顺序表L程序代码:#include#include#include#defineMaxSize50#defi
3、neTRUE1#defineFAULS07usingnamespacestd;typedefstruct{chardata[MaxSize];intlength;}SqList;//初始化顺序表voidCreateList(SqList*&L,chara[],intn){L=(SqList*)malloc(sizeof(SqList));for(inti=0;idata[i]=a[i];}L->length=n;}//新建顺序表voidInitList(SqList*&L){L=(SqList*)malloc(sizeof(S
4、qList));L->length=0;}//释放表voidDestroyList(SqList*&L){free(L);}//intListEmpty(SqList*L){return(L->length==0);}//判断顺序表的长度intListLength(SqList*L){7return(L->length);}//删除元素voidDispList(SqList*L){inti;for(i=0;ilength;i++){printf("%c",L->data[i]);}printf("");}//查找元素intGetElem
5、(SqList*L,inti,char&e){if(i<1
6、
7、i>L->length)returnfalse;e=L->data[i-1];returntrue;}//元素位置intLocateElem(SqList*L,chare){inti=0;while(ilength&&L->data[i]!=e){i++;}if(i>=L->length)return0;elsereturni+1;}//插入元素7intListInsert(SqList*&L,inti,chare){intj;if(i<1
8、
9、i>L->length+1)retu
10、rnfalse;i--;for(j=L->length;j>i;j--){L->data[j]=L->data[j-1];}L->data[i]=e;L->length++;returntrue;}//删除元素intListDelete(SqList*&L,inti,char&e){intj;if(i<1
11、
12、i>L->length){returnfalse;}i--;e=L->data[i];for(j=i;jlength-1;j++)L->data[j]=L->data[j+1];L->length--;returntrue;}intma
13、in(){SqList*L;chare;7cout<<"(1)初始化顺序表L"<14、顺序表L为"<<(ListEmpty(L)?"空":"非空")<
14、顺序表L为"<<(ListEmpty(L)?"空":"非空")<
此文档下载收益归作者所有