(封面)学生实验报告学院:国际经贸学院课程名称:数据结构专业班级:09电子商务姓名:学号:学生实验报告(经管类专业用)学生姓名学号2同组人实验项目顺序表基本运算■必修□选修□演示性实验□验证性实验■操作性实验□综合性实验实验地点实验仪器台号W-031指导教师实验日期及节次1.2一、实验目的及要求:1、目的通过实验,实现顺序表的各种基本运算。2、内容及要求编写一个程序,实现顺序表的各种基本运算,并在此基础上设计一个主程序完成下列功能:(1)初始化顺序表L(2)依次采用尾插法插入a,b,c,d,e(3)输出顺序表L(4)输出顺序表L长度;(5)判断顺序表L是否为空;(6)判断顺序表L的第3个元素;(7)输出元素‘a’的位置;(8)在第4个元素位置上插入‘f’元素;(9)输出顺序表L(10)删除L的第3个元素;(11)输出顺序表L(12)释放顺序表L二、仪器用具:仪器名称规格/型号数量备注计算机1有网络环境《Wim-Tc》系统1三、实验方法与步骤:一、查阅顺序表等相关资料,熟悉顺序表基本概念和流程二、“开展”顺序表实验流程三、整理实验数据和文档,总结实验的过程,编写实验报告四、实验结果与数据处理:1、顺序表的代码:#includestdio.h#includemalloc.h#defineMaxSize50typedefcharElemType;typedefstruct{ElemTypedata[MaxSize];intlength;}SqList;voidInitList(SqList*&L){L=(SqList*)malloc(sizeof(SqList));L-length=0;}voidDestroyList(SqList*L){free(L);}intListEmpty(SqList*L){return(L-length==0);}intListLength(SqList*L){return(L-length);}voidDispList(SqList*L){inti;if(ListEmpty(L))return;for(i=0;iL-length;i++)printf(%c,L-data[i]);printf(\n);}intGetElem(SqList*L,inti,ElemType&e){if(i1||iL-length)return0;e=L-data[i-1];return1;}intLocateElem(SqList*L,ElemTypee){inti=0;while(iL-length&&L-data[i]!=e)i++;if(i=L-length)return0;elsereturni+1;}intListInsert(SqList*&L,inti,ElemTypee){intj;if(i1||iL-length+1)return0;i--;//将顺序表位序转化为elem下标*/for(j=L-length;ji;j--)//将data[i]及后面元素后移一个位置*/L-data[j]=L-data[j-1];L-data[i]=e;L-length++;//顺序表长度增1*/return1;}intListDelete(SqList*&L,inti,ElemType&e){intj;if(i1||iL-length)return0;i--;//将顺序表位序转化为elem下标*/e=L-data[i];for(j=i;jL-length-1;j++)L-data[j]=L-data[j+1];L-length--;return1;}voidmain(){SqList*L;ElemTypee;printf((1)初始化顺序表L\n);InitList(L);printf((2)依次采用尾插法插入a,b,c,d,e元素\n);ListInsert(L,1,'a');ListInsert(L,2,'b');ListInsert(L,3,'c');ListInsert(L,4,'d');ListInsert(L,5,'e');printf((3)输出顺序表L:);DispList(L);printf((4)顺序表L长度=%d\n,ListLength(L));printf((5)顺序表L为%s\n,(ListEmpty(L)?空:非空));GetElem(L,3,e);printf((6)顺序表L的第3个元素=%c\n,e);printf((7)元素a的位置=%d\n,LocateElem(L,'a'));printf((8)在第4个元素位置上插入f元素\n);ListInsert(L,4,'f');printf((9)输出顺序表L:);DispList(L);printf((10)删除L的第3个元素\n);ListDelete(L,3,e);printf((11)输出顺序表L:);DispList(L);printf((12)释放顺序表L\n);DestroyList(L);}2、实验流程及截图:五、讨论与结论在实验的过程中,需要注意以下几点:首先,实验操作者要注意掌握:顺序表等概念。其次,需要对代码进行编写,修改。最后,在实验操作的过程中,需要耐心和细心。六、指导教师评语及成绩:评语:成绩:指导教师签名:批阅日期: