数据结构顺序表的查找实验报告文档格式.docx
- 文档编号:15969491
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:7
- 大小:60.27KB
数据结构顺序表的查找实验报告文档格式.docx
《数据结构顺序表的查找实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构顺序表的查找实验报告文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
二、实验内容
#include<
stdio.h>
stdlib.h>
malloc.h>
#defineERROR0
#defineOK1
#defineINIT_SIZE5/*初始分配的顺序表长度*/
#defineINCREM5/*溢出时,顺序表长度的增量*/
typedefintElemType;
/*定义表元素的类型*/
typedefstructSqlist{
ElemType*slist;
/*存储空间的基地址*/
intlength;
/*顺序表的当前长度*/
intlistsize;
/*当前分配的存储空间*/
}Sqlist;
intInitList_sq(Sqlist*L);
intCreateList_sq(Sqlist*L,intn);
intListInsert_sq(Sqlist*L,inti,ElemTypee);
intPrintList_sq(Sqlist*L);
intListDelete_sq(Sqlist*L,inti);
intListLocate(Sqlist*L,ElemTypee);
//初始化顺序表
intInitList_sq(Sqlist*L){
L->
slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType));
if(!
L->
slist)returnERROR;
length=0;
listsize=INIT_SIZE;
returnOK;
}/*InitList*/
//创建顺序表
intCreateList_sq(Sqlist*L,intn){
ElemTypee;
inti;
for(i=0;
i<
n;
i++){
printf("
inputdata%d"
i+1);
printf("
:
"
);
scanf("
%d"
&
e);
ListInsert_sq(L,i+1,e))
returnERROR;
}
}/*CreateList*/
/*输出顺序表中的元素*/
intPrintList_sq(Sqlist*L){
for(i=1;
=L->
length;
i++)
%-5d"
L->
slist[i-1]);
\n"
}/*PrintList*/
//在顺序表中插入
intListInsert_sq(Sqlist*L,inti,ElemTypee){
intk;
if(i<
1||i>
length+1)
if(L->
length>
listsize){
L->
slist=(ElemType*)realloc(L->
slist,
(INIT_SIZE+INCREM)*sizeof(ElemType));
slist)
returnERROR;
listsize+=INCREM;
for(k=L->
length-1;
k>
=i-1;
k--){
slist[k+1]=k;
slist[i-1]=e;
length++;
}/*ListInsert*/
/*在顺序表中删除第i个元素*/
intListDelete_sq(Sqlist*L,inti)
{
intj;
length<
0){
顺序表为空!
returnERROR;
elseif(i<
0||(i>
length))
{
i的参数出错!
\n"
else
for(j=i;
j<
=L->
j++)
L->
slist[j-1]=L->
slist[j];
length--;
returnOK;
}
/*在顺序表中查找指定值元素,返回其序号*/
intListLocate(Sqlist*L,ElemTypee)
inti,z=0;
for(i=0;
i<
i++)
if(L->
slist[i]==e)
{
printf("
查找的元素%d在第%d位置\n"
e,i+1);
z=1;
//returnOK;
}
没有查找到相应的数\n"
//主函数
intmain(){
Sqlistsl;
intn,i;
请创建表,输入顺序表的元素个数:
"
/*输入顺序表的元素个数*/
n);
if(n>
\n1-CreateSqlist:
InitList_sq(&
sl);
CreateList_sq(&
sl,n);
\n2-PrintSqlist:
PrintList_sq(&
system("
cls"
}else
ERROR"
---------------------------请选择操作方式--------------------------\n"
\t1:
查找\t2:
删除\t3:
输出表\t0:
退出\n输入操作数:
&
while(n)
\n链表元素:
if(n==1){
\n请输入想要查找的元素:
scanf("
ListLocate(&
sl,e);
if(n==2){
\n请输入想要删除元素的位置:
i);
ListDelete_sq(&
sl,i);
if(n==3)
PrintList_sq(&
\t---------------------------请选择操作方式--------------------------"
删除\t0:
scanf("
return0;
}三、实验分析与小结
(实验过程中的问题分析、产生的原因以及解决方法;
实验结果分析;
有待优化思路)
(1)实验结果截图
(2)总结
通过顺序表数组元素的特点,我们可以对数据实现顺序查找。
四、其它
得分(百分制)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 顺序 查找 实验 报告