顺序表基本算法实验报告_第1页
顺序表基本算法实验报告_第2页
顺序表基本算法实验报告_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、定义 一个整型变量来储存线性表的实际长度。然后通过对数组元素中的元素进行操 作,对顺序表进行基本算法。C:U seeskto pC 语司顺序表 1 .exe*、算法运行结果1、显示整个功能个 出 一L臺事输冲剿 “乗中元元售 C曲 儼卷兀数齧素腐 舸线线找入蚩元岀曲 1234567 8 M w *弗2、设置顺序表的长度HC;Use巧帰團D仍kto叭匚语司话義1 ,exe"I 个 岀 -L席某I元元士祝序 "s±n 右线蕃入醫元出 E 1234S67OD0 -请输入你要执行的操作5:b s UC 7 2 +耋2 元元元元元元 rrlv*?.、 7 =-123450

3、锥菁第第第8 入幻入AJ入百3、求出并返回顺序表的长度:*M个 岀1 I 一兀元雯线线找兀岀 fsn®二 1 >-1234567HH二二K *4、在顺序表中取出某个位置的元素并返回其值:5、显示顺序表中的元素:值 言-L23456780ft元元表序e* icho6、在顺序表的某个位置插入元素:7、删除顺序表中的某个元素'C:LI se r 趴晨睡Dxu m e ntspown loadsffl l.exe"8、输出顺序表L1-I 融 “套屮冗元耒序 屮哗表養壬据逆 电庚生圭- 苇 鄴线F * 123456780晴输人你要执行的操作:65872请按任意犍继续9、

4、将顺序表逆序输出10、退出对顺序表的操作:请按任意钳继绩 M二-12345 6 7S_W * 亠 WLST北宀幺宀才.丿用H-7UU 乏电出事输 元元霉 sin® H-SK JV线叢人蚩元出个-L1MHW&四、收获及体会同时也懂通过对顺序表的几个基本运算的调用,实现顺序表的几个基本算法 得如何定义顺序表,还有顺序表的用法。五、算法源代码#i nclude<stdio.h>#in clude<stdlib.h>#defi neMaxSize 50typedefint ElemType ;typedef structElemType dataMaxSize

5、;in t le ngth;SqList; 顺序表类型void In itList(SqList *& L); / 初始化顺序表void CreateList(SqList*& L,ElemType a,ElemType n); /建立顺序表bool ListEmpty(SqList *L);/判断顺序表是否为空表int ListLe ngth(SqList *L);/ 求顺序表长度void DispList(SqList *L);/ 输出顺序表/求顺序表中某个元素值bool GetElem(SqList *L,ElemType i,ElemType &e);int L

6、ocateElem(SqList *L,ElemType e);/ 按照元素值查找bool List In sert(SqList *& L,ElemType i,ElemType e);/ 插入元素 ebool ListDelete(SqList *& L,int i,ElemType &e);/ 删除元素void DestroyList(SqList *&L);/ 销毁顺序表void InitList(SqList *& L)/ 初始化顺序表L=(SqList*)malloc(sizeof(SqList);L->le ngth=O;void C

7、reateList(SqList* & L,ElemType a,ElemType n)/ 建立顺序表2int i;L=(SqList *)malloc(sizeof(SqList);for(i=O;i< n;i+)L->datai=ai;L->le ngth=n;bool ListEmpty(SqList *L)/判断顺序表是否为空表return(L->le ngth=O);int ListLe ngth(SqList *L)/ 求顺序表长度return(L->le ngth);void DispList(SqList *L)/ 输出顺序表int i;f

8、or(i=0;i<L->le ngth;i+)prin tf("%3d",L->datai);prin tf("n");bool GetElem(SqList *L,ElemType i,ElemType &e)/ 求顺序表中某个元素值if(i<1|i>L->le ngth)return false;e=L->datai-1;return true;int LocateElem(SqList *L,ElemType e) / 按照元素值查找int i=0;while(i<L->le ngth&

9、amp;&L->datai!=e)i+;if(i>L->le ngth)return 0;elsereturn i+1;插入元素ebool List In sert(SqList *& L,ElemType i,ElemType e)int j;if(i<1|i>L->le ngth+1)return false;i-;for(j=L->le ngth;j>i;j-)L->dataj=L->dataj-1;L->datai=e;L->le ngth+;return true;/删除元素bool ListDelete(SqList *& L,int i,ElemType &e) int j;L = NULL;if(i<1|i>L->le ngth)return false;i-;e=L->

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论