欢迎来到天天文库
浏览记录
ID:14146592
大小:555.50 KB
页数:48页
时间:2018-07-26
《打印 软件开发技术基础 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《软件开发技术基础》实验总报告班级:0830902学号:09212666学生:唐海东2010年11月13日《软件开发技术基础》实验报告实验名称:实验一线性表的操作班级0830902学号2009212666姓名唐海东第四周星期一、9—10节成绩实验目的:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法实验内容:设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删
2、除后的线性表中的数据元素。3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。实验要求: (1)将程序输入计算机,编译运行。(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。实验原理:⑴生成线性表:定义一维数组表示线性表的存储空间,动态申请存储空间建立长度为mm的空顺序表⑵向顺序表中插入数据元素:检测顺序表的状态,若表存储空间已满则提示上溢错误;若否,判断插入数据位置是否大于原来顺序表中最后一个数据位置,若真则默认在最后一个元素之后插入,若假判断插入位
3、置是否小于原来顺序表中第一个位置,若真则默认在第一个位置插入,将指定位置处后面的所有元素从后之前分别后移一个位置,将要插入的数据元素插入到指定位置,表实际长度n加1⑶删除指定位置的数据元素:检测顺序表的状态,若表实际长度为0,则提示下溢错误,若指定位置小于1或大于表实际长度n,则提示没有该元素,若否,从指定位置起,其后元素顺次前移一个位置,表实际长度n减1⑷查找指定数据的数据元素:检测顺序表的状态,若表为空,则提示空表,若否,则顺序比较指定数据与表中数据大小,若相等,则返回表中数据位置,跳出循环;若直到表尾仍未找到与指定数据
4、相匹配的表中元素,则提示表中无该元素显示0。实验步骤:首先建立顺序表,依次向顺序表中输入数据元素,让顺序表实现删除功能,输入指定元素,让顺序表实现查找功能。实验结果:见源程序后附:源程序和输入对应数据以及对应输出结果。源程序:#includeusingnamespacestd;templateclasssq_List{private:intmm;intnn;T*v;public:sq_List(){mm=0;nn=0;return;}sq_List(int);voidprt_sq_List
5、();intflag_sq_List();voidins_sq_List(int);voiddel_sq_List(int);intsch_sq_List(T);};templatesq_List::sq_List(intm){mm=m;v=newT[mm];nn=0;return;}templatevoidsq_List::prt_sq_List(){inti;cout<<"nn="<6、rn;}templateintsq_List::flag_sq_List(){if(nn==mm)return(-1);if(nn==0)return(0);return(1);}templatevoidsq_List::ins_sq_List(inti){intk;Tx;for(k=0;k>x;v[k]=x;nn++;}return;}templatevoidsq_List::del_sq_Li7、st(inti){intk;if(nn==0){cout<<"underflow!"<8、9、(i>nn)){cout<<"Notthiselementinthelist!"<intsq_List::sch_sq_List(Tx){if(nn==0)cout<<"blanklist"<10、+){if(x==v[k])return(k);break;}return(-1);}intmain(intargc,char*argv[]){sq_Lists(10);inti,j,x;cout<<"第1次输出表中对象:"<
6、rn;}templateintsq_List::flag_sq_List(){if(nn==mm)return(-1);if(nn==0)return(0);return(1);}templatevoidsq_List::ins_sq_List(inti){intk;Tx;for(k=0;k>x;v[k]=x;nn++;}return;}templatevoidsq_List::del_sq_Li
7、st(inti){intk;if(nn==0){cout<<"underflow!"<8、9、(i>nn)){cout<<"Notthiselementinthelist!"<intsq_List::sch_sq_List(Tx){if(nn==0)cout<<"blanklist"<10、+){if(x==v[k])return(k);break;}return(-1);}intmain(intargc,char*argv[]){sq_Lists(10);inti,j,x;cout<<"第1次输出表中对象:"<
8、
9、(i>nn)){cout<<"Notthiselementinthelist!"<intsq_List::sch_sq_List(Tx){if(nn==0)cout<<"blanklist"<10、+){if(x==v[k])return(k);break;}return(-1);}intmain(intargc,char*argv[]){sq_Lists(10);inti,j,x;cout<<"第1次输出表中对象:"<
10、+){if(x==v[k])return(k);break;}return(-1);}intmain(intargc,char*argv[]){sq_Lists(10);inti,j,x;cout<<"第1次输出表中对象:"<
此文档下载收益归作者所有