顺序表基本算法实验报告

上传人:第*** 文档编号:34264821 上传时间:2018-02-22 格式:DOC 页数:9 大小:138.50KB
返回 下载 相关 举报
顺序表基本算法实验报告_第1页
第1页 / 共9页
顺序表基本算法实验报告_第2页
第2页 / 共9页
顺序表基本算法实验报告_第3页
第3页 / 共9页
顺序表基本算法实验报告_第4页
第4页 / 共9页
顺序表基本算法实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《顺序表基本算法实验报告》由会员分享,可在线阅读,更多相关《顺序表基本算法实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、 C 语言程序设计实践综合题目: 顺序表基本算法 班 级: 姓 名: 同组人员: 提交日期: 一、程序功能:1、建立一个顺序表。2、对建立好的顺序表进行一些基本的操作,如:a.顺序表的类型定义。b.求顺序表长操作。c.取顺序表元素操作。d.按值查找操作。e.显示元素操作。f.插入操作。g.删除操作。h.显示元素操作。 二、算法设计思想:用一组存储单元来存放线性表中的数据元素,把顺序表中的所有元素按照其逻辑结构顺序依次储存到从计算机储存器中指定储存位置开始的一块连续的储存空间。线性表中的第一个位置储存在数组的起始位置(下标为 0)在定义一个顺序表时,除了定义一个数组来储存线性表中的所有元素,还需

2、要定义一个整型变量来储存线性表的实际长度。然后通过对数组元素中的元素进行操作,对顺序表进行基本算法。三、算法运行结果1、显示整个功能 2、设置顺序表的长度:3、求出并返回顺序表的长度: 4、在顺序表中取出某个位置的元素并返回其值:5、显示顺序表中的元素:6、在顺序表的某个位置插入元素: 7、删除顺序表中的某个元素8、输出顺序表 9、将顺序表逆序输出10、退出对顺序表的操作:四、收获及体会通过对顺序表的几个基本运算的调用,实现顺序表的几个基本算法。同时也懂得如何定义顺序表,还有顺序表的用法。 五、算法源代码#include#include#define MaxSize 50 typedef in

3、t ElemType ;typedef struct ElemType dataMaxSize;int length;SqList; /顺序表类型void InitList(SqList * /初始化顺序表 void CreateList(SqList* /建立顺序表 bool ListEmpty(SqList *L); /判断顺序表是否为空表 int ListLength(SqList *L); /求顺序表长度 void DispList(SqList *L); /输出顺序表 bool GetElem(SqList *L,ElemType i,ElemType /求顺序表中某个元素值 int

4、 LocateElem(SqList *L,ElemType e); /按照元素值查找 bool ListInsert(SqList * /插入元素 e bool ListDelete(SqList * /删除元素 void DestroyList(SqList * /销毁顺序表 void InitList(SqList *& L) /初始化顺序表 L=(SqList*)malloc(sizeof(SqList);L-length=0;void CreateList(SqList*& L,ElemType a,ElemType n) /建立顺序表 2int i;L=(SqList *)mall

5、oc(sizeof(SqList);for(i=0;idatai=ai;L-length=n;bool ListEmpty(SqList *L) /判断顺序表是否为空表 return(L-length=0);int ListLength(SqList *L) /求顺序表长度 return(L-length); void DispList(SqList *L) /输出顺序表 int i;for(i=0;ilength;i+)printf(%3d,L-datai);printf(n); bool GetElem(SqList *L,ElemType i,ElemType &e) /求顺序表中某个元

6、素值 if(iL-length)return false;e=L-datai-1;return true;int LocateElem(SqList *L,ElemType e) /按照元素值查找 int i=0;while(ilength&L-datai!=e)i+;if(iL-length)return 0;else return i+1;bool ListInsert(SqList *& L,ElemType i,ElemType e) /插入元素 e int j;if(iL-length+1)return false;i-;for(j=L-length;ji;j-)L-dataj=L-dataj-1;L-datai=e;L-length+;return true;bool ListDelete(SqList *& L,int i,ElemType &e) /删除元素 int j;L = NULL;if(iL-length)return false; i-;e=L-datai;for(j=i;jlength-1;j+)L-dataj=L-dataj+1;L-length-;return true;void DestroyList(SqList *&L) /销毁顺序表 free(L);L = NULL;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号