资源描述:
《顺序表基本算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑C语言程序设计实践综合题目:顺序表基本算法班级:姓名:同组人员:提交日期:专业知识分享WORD格式可编辑一、程序功能:1、建立一个顺序表。2、对建立好的顺序表进行一些基本的操作,如:a.顺序表的类型定义。b.求顺序表长操作。c.取顺序表元素操作。d.按值查找操作。e.显示元素操作。f.插入操作。g.删除操作。h.显示元素操作。二、算法设计思想:用一组存储单元来存放线性表中的数据元素,把顺序表中的所有元素按照其逻辑结构顺序依次储存到从计算机储存器中指定储存位置开始的一块连续的储存空间。线性表中的第一个位置储存在数组的起始位置(下标为0)在定义一个顺序表时,除了定义一个
2、数组来储存线性表中的所有元素,还需要定义一个整型变量来储存线性表的实际长度。然后通过对数组元素中的元素进行操作,对顺序表进行基本算法。三、算法运行结果1、显示整个功能专业知识分享WORD格式可编辑2、设置顺序表的长度:3、求出并返回顺序表的长度:专业知识分享WORD格式可编辑4、在顺序表中取出某个位置的元素并返回其值:5、显示顺序表中的元素:6、在顺序表的某个位置插入元素:专业知识分享WORD格式可编辑7、删除顺序表中的某个元素8、输出顺序表专业知识分享WORD格式可编辑9、将顺序表逆序输出10、退出对顺序表的操作:四、收获及体会通过对顺序表的几个基本运算的调用,实现顺序表的几个基本
3、算法。同时也懂得如何定义顺序表,还有顺序表的用法。专业知识分享WORD格式可编辑五、算法源代码#include#include#defineMaxSize50typedefintElemType;typedefstruct{ElemTypedata[MaxSize];intlength;}SqList;//顺序表类型voidInitList(SqList*&L);//初始化顺序表voidCreateList(SqList*&L,ElemTypea[],ElemTypen);//建立顺序表boolListEmpty(SqList*L);//判断顺序
4、表是否为空表intListLength(SqList*L);//求顺序表长度voidDispList(SqList*L);//输出顺序表boolGetElem(SqList*L,ElemTypei,ElemType&e);//求顺序表中某个元素值intLocateElem(SqList*L,ElemTypee);//按照元素值查找boolListInsert(SqList*&L,ElemTypei,ElemTypee);//插入元素eboolListDelete(SqList*&L,inti,ElemType&e);//删除元素voidDestroyList(SqList*&L);/
5、/销毁顺序表voidInitList(SqList*&L)//初始化顺序表{L=(SqList*)malloc(sizeof(SqList));L->length=0;}voidCreateList(SqList*&L,ElemTypea[],ElemTypen)//建立顺序表2{inti;L=(SqList*)malloc(sizeof(SqList));for(i=0;idata[i]=a[i];L->length=n;}boolListEmpty(SqList*L)//判断顺序表是否为空表{return(L->length==0);}intListLengt
6、h(SqList*L)//求顺序表长度{return(L->length);专业知识分享WORD格式可编辑}voidDispList(SqList*L)//输出顺序表{inti;for(i=0;ilength;i++)printf("%3d",L->data[i]);printf("");}boolGetElem(SqList*L,ElemTypei,ElemType&e)//求顺序表中某个元素值{if(i<1
7、
8、i>L->length)returnfalse;e=L->data[i-1];returntrue;}intLocateElem(SqList*L,ElemTy
9、pee)//按照元素值查找{inti=0;while(ilength&&L->data[i]!=e)i++;if(i>L->length)return0;elsereturni+1;}boolListInsert(SqList*&L,ElemTypei,ElemTypee)//插入元素e{intj;if(i<1
10、
11、i>L->length+1)returnfalse;i--;for(j=L->length;j>i;j--)L->data[j]=L->