还剩5页未读,继续阅读
文本内容:
洛阳理工学院实验报告实验内容.问题描述以顺序表为存储结构实现以下基本操作在第i个元素前插入一个新元素查找值为x的某个元素若成功,给出x在表中的位置;不成功给出提醒信息删除第i个元素,若成功,给出提醒信息并显示被删元素的值;不成功给出失败的提醒信息.数据结构类型定义typedefstruct{ElemTypee1em[MAXSIZE];Int1ast;}SeqList;
3.模块划分1创建顺序表输入函数voidInputSeqList*Lintn;2创建顺序表输出函数voidOutputSeqList*L;3创建顺序表的内容查找函数intLocateSeqListLElemTypee;4创建顺序表的插入函数intInsListSeqList*LintiE1emTypee;5创建顺序表的删除函数intDelListSeqList*LintiElemType*e;6主函数voidmain
4.具体设计includestdio.hineludestd1ib.hincludemaHoc.hdefineOK1defineERROR-1defineTRUE1defineFALSE0#defineElemTypeint#defineoMAXSIZE100〃最大长度typedefstruct{oElemTypeelem[MAXSIZE];intlast;}SeqList;voidInputSeqList*Lintn〃输入函数{inti;printf〃请输入线性表的各元素值\n〃;fori=0in;i++scanf%dz,L-elem[i];voidOutputSeqList*L〃输出函数{inti;fori=0;i=L-last;i++printf,,%2d,zL-elem[i];printf〃\n〃;intLocateSeqListLElemTypee〃内容查找函数{ointi;i=0;whilei=L.lastL.e1em[i]!=ei++;ifi=L.lastreturni+1;//返回序号elsereturn-1;intInsListSeqList*LintiE1emTypee//插入数据{intk;ifi1||iL—last+2/*一方面判断插入位置是否合法*/{叩rint「〃插入位置不合法\n〃;returnERR0R;ifL-1ast=MAXSIZE-1{叩rintf〃表已满无法插入〃;oreturnERROR;ofork=L-1ast;k=i-l;k—//为插入元素而移动位置—elem[k+l]=L-elem[k];0L-e=e;〃第i个元素的下标为i-1I-last++;oreturnOK;intDe1ListSeqListLintiElemType*e//删除[2:e=L-elem[i-1];/*将删除的元素存放到e所指向的变量中*/fork=i;k=L-last;k++L-elem[k-1]=L-elcm[k];/*将后面的元素依次前移*/aL—last-;oreturnTRUE;}voidmain//主函数{SeqList1*1a;◎intpqrkjmnum;]函数/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值i的合法取值为IWiWL.last+1*/{0intk;ifil|IiL-last+D{oprintf〃删除位置不合法!\n〃;*returnERROR;Printf〃请输入线性表的长度”的®scanf%d〃,r;1ast=r-1;a=1;Inputla1a-last+1;Outputla;〃按内容查找元素叩rintf〃请输入要查找的元素值\n“;®scanf〃%d〃,q;®p=LocateLq;ifp==—1个rintf〃在此线性表中没有该元素!\n”;elseprintf〃该元素在线性表中的位置为%d\n〃,p;//插入元素在i处插入元素esprintf请输入要插入的位置\n;scanf〃%dk;printf•请输入要插入的元素值\n〃;oscanf〃%d〃j;InsList1akj;//调用插入函数utputla;〃删除元素删除第i个元素printf〃请输入需要删除的元素的位置\n”;scanf%dm;De1List1amnum;oprintfC删除成功,删除的元素为/d〃,num;printf〃\n;Outputla;o
5.测试数据及结果C:\Users\mypc\DesktopVI3D^^\Debug\Y.exe请输入要餐莪的片素值;•CAUsersXmypcXDesktopVI^J^^XDebugXY.exe请物入线性表的归度7请瑞入线桂表的客元素值
23567532.
3.
5675.3请输入要查找的元素值黯建献嘉鹘置为:1请输入要插入的元素值902390567»
53.请输入需要删除的元素的位置:2删除成功删除的元素为
32.
90.56753Pressanykeytocontinue实验总结通过调试与测试,实验结果与测试预期一致顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构线性表采用顺序存储的方式存储就称之为顺序表顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中系别计算机班级学号姓名课程名称数据结构实验日期10/23实验名称顺序表的基本操作成绩实验目的熟悉掌握线性表顺序存储结构,掌握与应用顺序表的查找、插入、删除等基本操作算法,训练和提高结构化程序设计能力及程序调试能力实验条件计算机一台Visua1C++
6.0。