顺序表基本算法实验报告文档格式.docx

上传人:b****6 文档编号:16548261 上传时间:2022-11-24 格式:DOCX 页数:9 大小:114.86KB
下载 相关 举报
顺序表基本算法实验报告文档格式.docx_第1页
第1页 / 共9页
顺序表基本算法实验报告文档格式.docx_第2页
第2页 / 共9页
顺序表基本算法实验报告文档格式.docx_第3页
第3页 / 共9页
顺序表基本算法实验报告文档格式.docx_第4页
第4页 / 共9页
顺序表基本算法实验报告文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

顺序表基本算法实验报告文档格式.docx

《顺序表基本算法实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《顺序表基本算法实验报告文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

顺序表基本算法实验报告文档格式.docx

b.求顺序表长操作。

c.取顺序表元素操作。

d.按值查找操作。

e.显示元素操作。

f.插入操作。

g.删除操作。

h.显示元素操作。

二、算法设计思想:

用一组存储单元来存放线性表中的数据元素,把顺序表中的所有元素按照其逻辑结构顺序依次储存到从计算机储存器中指定储存位置开始的一块连续的储存空间。

线性表中的第一个位置储存在数组的起始位置(下标为0)在定义一个顺序表时,除了定义一个数组来储存线性表中的所有元素,还需要定义一个整型变量来储存线性表的实际长度。

然后通过对数组元素中的元素进行操作,对顺序表进行基本算法。

三、算法运行结果

1、显示整个功能

2、设置顺序表的长度:

3、求出并返回顺序表的长度:

4、在顺序表中取出某个位置的元素并返回其值:

5、显示顺序表中的元素:

6、在顺序表的某个位置插入元素:

7、删除顺序表中的某个元素

8、输出顺序表

9、将顺序表逆序输出

10、退出对顺序表的操作:

四、收获及体会

通过对顺序表的几个基本运算的调用,实现顺序表的几个基本算法。

同时也懂得如何定义顺序表,还有顺序表的用法。

五、算法源代码

#include<

stdio.h>

stdlib.h>

#defineMaxSize50

typedefintElemType;

typedefstruct

{

ElemTypedata[MaxSize];

intlength;

}SqList;

//顺序表类型

voidInitList(SqList*&

L);

//初始化顺序表

voidCreateList(SqList*&

L,ElemTypea[],ElemTypen);

//建立顺序表

boolListEmpty(SqList*L);

//判断顺序表是否为空表

intListLength(SqList*L);

//求顺序表长度

voidDispList(SqList*L);

//输出顺序表

boolGetElem(SqList*L,ElemTypei,ElemType&

e);

//求顺序表中某个元素值

intLocateElem(SqList*L,ElemTypee);

//按照元素值查找

boolListInsert(SqList*&

L,ElemTypei,ElemTypee);

//插入元素e

boolListDelete(SqList*&

L,inti,ElemType&

//删除元素

voidDestroyList(SqList*&

L);

//销毁顺序表

L)//初始化顺序表

{

L=(SqList*)malloc(sizeof(SqList));

L->

length=0;

}

L,ElemTypea[],ElemTypen)//建立顺序表2

inti;

L=(SqList*)malloc(sizeof(SqList));

for(i=0;

i<

n;

i++)

data[i]=a[i];

length=n;

boolListEmpty(SqList*L)//判断顺序表是否为空表

return(L->

length==0);

intListLength(SqList*L)//求顺序表长度

length);

voidDispList(SqList*L)//输出顺序表

L->

length;

printf("

%3d"

L->

data[i]);

\n"

);

}

e)//求顺序表中某个元素值

if(i<

1||i>

length)

returnfalse;

e=L->

data[i-1];

returntrue;

intLocateElem(SqList*L,ElemTypee)//按照元素值查找

inti=0;

while(i<

length&

&

data[i]!

=e)

i++;

if(i>

return0;

else

returni+1;

L,ElemTypei,ElemTypee)//插入元素e

intj;

length+1)

i--;

for(j=L->

j>

i;

j--)

data[j]=L->

data[j-1];

data[i]=e;

length++;

e)//删除元素

L=NULL;

data[i];

for(j=i;

j<

length-1;

j++)

data[j+1];

length--;

L)//销毁顺序表

free(L);

仅供个人用于学习、研究;

不得用于商业用途。

notforcommercialuse.

Nurfü

rdenpersö

nlichenfü

rStudien,Forschung,zukommerziellenZweckenverwendetwerden.

Pourl'

é

tudeetlarechercheuniquementà

desfinspersonnelles;

pasà

desfinscommerciales.

толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях. 

以下无正文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1