您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实验一 线性表的操作
实验一线性表的操作(2学时)实验类型:验证性实验要求:必修实验学时:2学时一、实验目的:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法。二、实验要求:1、掌握线性表顺序表类和链表类的特点。掌握线性表的常见算法。2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。三、实验内容:设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。四、要求1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。2)写出完整的程序并能调试通过即可源程序如下:#includeiostreamusingnamespacestd;templateclassTclasssq_LList{private:intmm;intnn;T*v;public:sq_LList(){mm=0;nn=0;return;}sq_LList(int);voidprt_sq_LList();intflag_sq_LList();voidins_sq_LList(int,T);voiddel_sq_LList(int);intsearch_sq_LList(Tx);};templateclassTsq_LListT::sq_LList(intm){mm=m;v=newT[mm];nn=0;return;}templateclassTvoidsq_LListT::prt_sq_LList(){inti;coutnn=nnendl;for(i=0;inn;i++)coutv[i]endl;return;}templateclassTintsq_LListT::flag_sq_LList(){if(nn==mm)return(-1);if(nn==0)return(0);return(1);}templateclassTvoidsq_LListT::ins_sq_LList(inti,Tb){intk;if(nn==mm){coutoverflowendl;return;}if(inn)i=nn+1;if(i1)i=1;for(k=nn;k=i;k--)v[k]=v[k-1];v[i-1]=b;nn=nn+1;return;}templateclassTvoidsq_LListT::del_sq_LList(inti){intk;if(nn==0){coutunderflow!endl;return;}if((i1)||(inn)){coutNotthiselementinthelist!endl;return;}for(k=i;knn;k++)v[k-1]=v[k];nn=nn-1;return;}templateclassTintsq_LListT::search_sq_LList(Tx){inti,j,k;i=1;j=nn;while(i=j){k=(i+j)/2;if(v[k-1]==x)cout你要查找的数现在的位置为:(k-1)endl;if(v[k-1]x)j=k-1;elsei=k+1;}return(0);}intmain(){inty;sq_LListdoublea(100);cout第一次输出顺序表对象a:endl;a.prt_sq_LList();a.ins_sq_LList(1,1);a.ins_sq_LList(2,3);a.ins_sq_LList(3,5);a.ins_sq_LList(4,7);a.ins_sq_LList(5,9);a.ins_sq_LList(6,11);cout第二次输出顺序表对象a:endl;a.prt_sq_LList();a.del_sq_LList(2);cout第三次输出顺序表对象a:endl;a.prt_sq_LList();cout请输入要查找的数:endl;ciny;coutendl;a.search_sq_LList(y);cout第四次输出顺序表对象a:endl;a.prt_sq_LList();return0;}运行结果如下:心得体会:1.通过本次试验,我掌握了线性表的基本概念。2.通过本次试验,我懂得了如何建立一个顺序表,并能对顺序表进行基本的建立、插入、检测、删除以及查找的操作。3.本次试验我知道了线性表的顺序存储结构具有如下两个特点:(1)线性表中所有元素所占的存储空间是连续的。(2)线性表中各元素在存储空间中是按逻辑顺序依次存放的。
本文标题:实验一 线性表的操作
链接地址:https://www.777doc.com/doc-4240428 .html