欢迎来到天天文库
浏览记录
ID:15784973
大小:222.50 KB
页数:30页
时间:2018-08-05
《计算机软件技术基础上机报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件开发技术实验指导书《软件开发技术基础》实验报告学院:自动化学院班级:0831004班学号:2010213157姓名:彭威威第30页共30页软件开发技术实验指导书目录n《软件开发技术基础》1n实验报告1n实验一线性表的操作(2学时)3n实验二栈的操作(3学时)7n实验三队列的操作(3学时)11n实验四树和二叉树的操作(3学时)18n实验五查找算法实现(2学时)22n实验六排序综合实验(3学时)26第30页共30页软件开发技术实验指导书实验一线性表的操作(2学时)班级0831004学号2010213157姓名彭威威第4周星期四1、2节成绩实验类型:验
2、证性实验要求:必修实验学时:2学时一、实验目的:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法。二、实验要求:1、掌握线性表顺序表类和链表类的特点。掌握线性表的常见算法。2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。三、实验内容:设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。3)查
3、找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。四、要求:1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。2)写出完整的程序并能调试通过即可五、实验原理:(1)线性表在顺序存储下的插入运算 ①首先处理以下3种异常情况: 当存储空间已满(n=m)时为“上溢”错误,不能进行插入,算法解释。 当i>n时认为在最后一个元素之后(第n+1个元素之前)插入。 当i<1时认为在第一个元素之前插入。②从最后一个元素开始,直到第i个元素,其中每一个元素均往后一点一个位置。③最后将新元素插入到第i个位置
4、,并将线性表的长度增加1。(2)线性表在顺序存储下的删除运算 ①首先出来以下2种异常情况: 当线性表为空(n=0)时为“上溢”错误,不能进行插入,算法结束。 当i<1或i>n时,认为在最后一个元素之后(第n+1个元素之前)插入。 ②从第i+1个元素开始,直到最后一个元素,其中每一个元素均一次往前移动一个位置。③最后将线性表的长度减小1。第30页共30页软件开发技术实验指导书(3)线性表在顺序存储下的查找运算将所要查找的数与线性表里面的数比较,当找到时输出其所在位置,否则输出0#includeusingnamespacestd;te
5、mplateclasssq_LList{private:intmm;intnn;T*v;public:sq_LList(){mm=0;nn=0;return};sq_LList(int);voidprt_sq_LList();voidins_sq_LList(int,T);intsearch_sq_LList(T);voiddel_sq_LList(int);};//建立空顺序表templatesq_LList::sq_LList(intm){mm=m;v=newT[mm];nn=0;return;}//顺序输出
6、顺序表的长度和元素templatevoidsq_LList::prt_sq_LList(){inti;cout<<"nn="<voidsq_LList::ins_sq_LList(inti,Tb){intk;if(nn==mm){cout<<"overflow!"<nn)i=nn+1
7、;if(i<1)i=1;for(k=nn;k>=i;k--)v[k]=v[k-1];v[i-1]=b;nn=nn+1;return;}//在顺序表中查找指定数据templateintsq_LList::search_sq_LList(Tb){inti;for(i=0;ivoidsq_LList::del_sq_LList(inti){intk;if(nn==0){cout<<"und
8、erflow!"<9、10、(i>nn)){cout<<"Notthi
9、
10、(i>nn)){cout<<"Notthi
此文档下载收益归作者所有