资源描述:
《数据结构-顺序表的查找实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与技术系实验报告专业名称计算机科学与技术课程名称《数据结构》项目名称顺序表查找班级学号姓名同组人员无实验日期一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。)(一)实验目的:应用顺序表来实现对数据的查找(二)实验要求:用顺序表实现对数据进行查找(三)实验环境:VC++6.0.二、实验内容#include#include#include#defineERROR0#defineOK1#defineINIT_SIZE5/*初始分配的顺序表长度
2、*/#defineINCREM5/*溢出时,顺序表长度的增量*/typedefintElemType;/*定义表元素的类型*/typedefstructSqlist{ElemType*slist;/*存储空间的基地址*/intlength;/*顺序表的当前长度*/intlistsize;/*当前分配的存储空间*/}Sqlist;intInitList_sq(Sqlist*L);intCreateList_sq(Sqlist*L,intn);intListInsert_sq(Sqlist*L,inti,ElemTypee);intPrintL
3、ist_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;L->length=0;L->listsize=INIT_SIZE;returnOK;}/*InitList*///创建顺序表intCreateList_
4、sq(Sqlist*L,intn){ElemTypee;inti;for(i=0;ilength;i++)printf("%-5d",L->slist[i-1]);printf("
5、");returnOK;}/*PrintList*///在顺序表中插入intListInsert_sq(Sqlist*L,inti,ElemTypee){intk;if(i<1
6、
7、i>L->length+1)returnERROR;if(L->length>=L->listsize){L->slist=(ElemType*)realloc(L->slist,(INIT_SIZE+INCREM)*sizeof(ElemType));if(!L->slist)returnERROR;L->listsize+=INCREM;}for(k=L-
8、>length-1;k>=i-1;k--){L->slist[k+1]=k;}L->slist[i-1]=e;L->length++;returnOK;}/*ListInsert*//*在顺序表中删除第i个元素*/intListDelete_sq(Sqlist*L,inti){intj;if(L->length<0){printf("顺序表为空!");returnERROR;}elseif(i<0
9、
10、(i>L->length)){printf("i的参数出错!");returnERROR;}else{for(j=i;j<=L->le
11、ngth;j++)L->slist[j-1]=L->slist[j];L->length--;returnOK;}}/*在顺序表中查找指定值元素,返回其序号*/intListLocate(Sqlist*L,ElemTypee){inti,z=0;for(i=0;ilength;i++){if(L->slist[i]==e){printf("查找的元素%d在第%d位置",e,i+1);z=1;//returnOK;}}printf("没有查找到相应的数");returnERROR;}//主函数intmain(){Sqlists
12、l;intn,i;ElemTypee;printf("请创建表,输入顺序表的元素个数:");/*输入顺序表的元素个数*/scanf("%d",&n);if(n>0){printf