预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

洛阳理工学院实验报告系别计算机班级学号姓名课程名称数据结构实验日期10/23实验名称顺序表的基本操作成绩实验目的:熟悉掌握线性表顺序存储结构,掌握与应用顺序表的查找、插入、删除等基本操作算法,训练和提高结构化程序设计能力及程序调试能力。实验条件:计算机一台,VisualC++6.0实验内容:问题描述以顺序表为存储结构实现以下基本操作:在第i个元素前插入一个新元素。查找值为x的某个元素。若成功,给出x在表中的位置;不成功给出提示信息。删除第i个元素,若成功,给出提示信息并显示被删元素的值;不成功给出失败的提示信息.数据结构类型定义typedefstruct{ElemTypeelem[MAXSIZE];Intlast;}SeqList;模块划分(1)创建顺序表输入函数:voidInput(SeqList*L,intn);(2)创建顺序表输出函数:voidOutput(SeqList*L);(3)创建顺序表的内容查找函数:intLocate(SeqListL,ElemTypee);(4)创建顺序表的插入函数:intInsList(SeqList*L,inti,ElemTypee);(5)创建顺序表的删除函数:intDelList(SeqList*L,inti,ElemType*e);(6)主函数:voidmain()详细设计#include〈stdio。h〉#include〈stdlib。h〉#include〈malloc。h〉#defineOK1#defineERROR—1#defineTRUE1#defineFALSE0#defineElemTypeint#defineMAXSIZE100//最大长度typedefstruct{ElemTypeelem[MAXSIZE];intlast;}SeqList;voidInput(SeqList*L,intn)//输入函数{inti;printf(”请输入线性表的各元素值:\n”);for(i=0;i〈n;i++)scanf("%d",&L—〉elem[i]);}voidOutput(SeqList*L)//输出函数{inti;for(i=0;i<=L—>last;i++)printf(”%2d,”,L—〉elem[i]);printf(”\n");}intLocate(SeqListL,ElemTypee)//内容查找函数{inti;i=0;while((i〈=L。last)&&(L。elem[i])!=e)i++;if(i<=L.last)return(i+1);//返回序号elsereturn(-1);}intInsList(SeqList*L,inti,ElemTypee)//插入数据{intk;if((i<1)||(i>L-〉last+2))/*首先判断插入位置是否合法*/{printf(”插入位置不合法\n”);return(ERROR);}if(L—〉last>=MAXSIZE—1){printf(”表已满无法插入");return(ERROR);}for(k=L—>last;k〉=i—1;k--)//为插入元素而移动位置L-〉elem[k+1]=L-〉elem[k];L—>elem[i—1]=e;//第i个元素的下标为i—1L—>last++;return(OK);}intDelList(SeqList*L,inti,ElemType*e)//删除函数/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i的合法取值为1≤i≤L。last+1*/{intk;if((i<1)||(i>L—>last+1)){printf(”删除位置不合法!\n");return(ERROR);}*e=L—〉elem[i-1];/*将删除的元素存放到e所指向的变量中*/for(k=i;k〈=L—〉last;k++)L—>elem[k—1]=L—〉elem[k];/*将后面的元素依次前移*/L—>last--;return(TRUE);}voidmain()//主函数{SeqListl,*la;intp,q,r,k,j,m,num;printf(”请输入线性表的长度:");scanf(”%d”,&r);l。last=r—1;la=&l;Input(la,la-〉last+1);Output(la);//按内容查找元素printf("请输入要查找的元素值:\n”);scanf(”%d",&q);p=Locate(l,q);if(p==—1)printf("在此线性表中没有该元素!\n");elseprintf(”该元素在线性表中的位置为:%d\n”,p);//插入元素(在i处插入元素e)printf(”请输入要插入的位置:\n”);scanf(”%d",&k);printf(”请输入要插