您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 数据结构第四版--实验一:顺序表的基本操作
实实验验一一::顺顺序序表表的的基基本本操操作作【实验目的】1、掌握建立顺序表的基本方法。2、理解和掌握顺序表元素查找算法3、掌握顺序表的插入算法的思想和实现。4、掌握顺序表的删除算法的思想和实现【实验内容】1、建立一个顺序表,要求从键盘输入10个整数,并将该顺序表的元素从屏幕显示出来。2、用函数实现在顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素。3、用函数实现顺序表的插入和删除操作。由用户输入待插入元素及插入位置,将完成插入后的顺序表输出;由用户输入删除第几个元素,将完成删除后的顺序表输出。【实验源代码】#includestdio.h#includestdlib.h#defineMAXSIZE10#includeseqlist.htypedefstruct{int*k;intlength;}SqList;main(){SqLista;inti,x,y;intListInsert_Sq(SqList&L,inti,inte);printf(请输入顺序表长度);scanf(%d,&a.length);a.k=(int*)malloc(sizeof(int)*a.length);for(i=0;i=a.length-1;i++){a.k[i]=rand()%100;printf(%d,a.k[i]);}printf(\n请输入要插入的位置和元素\n);scanf(%d%d,&i,&x);y=ListInsert_Sq(a,i,x);for(i=0;ia.length;i++)printf(%d,a.k[i]);}intListInsert_Sq(SqList&L,inti,inte){intj;for(j=L.length;j=i;j--)L.k[j+1]=L.k[j];L.k[i]=e;++L.length;return1;}头文件:seqlist.htypedefstruct{datatypelist[maxsize];intsize;}seqlist;voidListInitiate(SeqList*L)//初始化顺序表L{L-size=0;//定义初始数据元素个数}intListLength(SeqListL)//返回顺序表L的当前数据元素个数{returnL.size;}intListInsert(SeqList*L,inti,intx)//在顺序表L的第i(0=i=size)个位置前插入数据元素值x{intj;if(L-size=10)//插入成功返回1,插入失败返回0{printf(顺序表已满无法插入!\n);return0;}elseif(i0||iL-size){printf(参数i不合法!\n);return0;}else{for(j=L-size;ji;j--)L-list[j]=L-list[j-1];//从后面向前一次后以数据,未插入做准备L-list[i]=x;//插入xL-size++;//元素个数加1return1;}}intListDelete(SeqList*L,inti,int*x);{intj;if(L-size=0)printf(顺序表已空无数据元素可删!\n);return0;}else{*x=L-list[i];for(j=i+1;j=L-list-1;j++)L-list[j-1]=L-list[j];L-list--;return1;}}intListGet(SeqListL,inti,int*x){if(i0||iL。size-1){printf(参数i不合格!\n);return0;}else{*x=L.list[i];return1;}}【实验结果】【实验心得】
本文标题:数据结构第四版--实验一:顺序表的基本操作
链接地址:https://www.777doc.com/doc-1810007 .html