1、1、实验报告要按照实验报告格式规范书写。2、实验上要写出多批测试数据的运行结果。3、结合运行结果,对程序进行分析。三、实验步骤typedefstruct/定义每个记录(数据元素)的结构stringxingming; /姓名xingbei; /性别floatxuehao; /学号chengji1,chengji2; /成绩1,成绩2zong; /总分RecordType;/定义顺序表的结构RecordTyperMAXSIZE+1;/存储顺序表的向量查找 顺序查找从表的一端开始逐个进行记录的关键字和给定值的比较。在这里从表尾开始并把下标为0的作为哨兵。voidchaxun(SqList&ST)/查
2、询信息 coutn*endl;(1)根据学号查询 (2)根据姓名查询(3)根据性别查询(4)退出 if(m=1)顺序查找算法:coutname;for(inti=0;iST.length;i+)if(name=ST.ri.xingming)ST.ri.xuehao ST.ri.xingmingST.ri.xingbeiST.ri.chengji1ST.ri.chengji2ST.ri.zonglength;l-r0.key=l-ri.key;j=i-1;while(l-r0.keyr0.key;m=1;mm+)rm.key;b.冒泡排序bubblesort(recordlisti,j,x;ch
3、ange=TRUE;for(i=1;lengthchange;+i)change=FALSE;for(j=1;jrj.keyrj+1.key)x=l-rj.key=l-rj+1.key=x; c.快速排序qkpass(recordlistl,intleft,intright)rleft.key;low=left;high=right;while(lowhigh)highrhigh.key=x)high-;if(lowrlow.keylow+;rhigh.keyrlow.key;rlow.key=x;returnlow;qksort(recordlist*l,intlow,intpos;=hig
4、h)pos=qkpass(l,low,high);qksort(l,low,pos-1);qksort(l,pos+1,high);d.简单选择排序selectsort(recordlisti,j,k,x,n;=n-1;k=i;for(j=i+1;=n;+j)rj.keyrk.key;rk.key=x; 四、测试数据与实验结果1.直接插入排序2.冒泡排序3.快速排序4.简单选择排序5.顺序查找五、实验总结通过本次实验我对查找排序的应用有了相对的了解。通过自己数次的调试、修改也搞懂了许多以前比较模糊的知识点,比如这次的界面是复制过来的,其中很多语句经过同学的帮助及查找资料后可以理解。但这次实验也
5、有很多不尽人意的地方,程序与老师的要求可能会有些出入我将在以后的试验中会加强自己的编程能力,多学习同学优秀的地方也会在以后的学习过程中要尽量考虑周全。6、源代码#includeiostream.hmalloc.h#definemaxsize12listsize10keysizeMAX100radix10keytype; /总分key;next;recordtype;recordtyperlistsizerecordlist;pvectorradix;/直接插入排序/冒泡排序/简单选择排序/快速排序/顺序查找if(m=1) for(int voidmain()a=1,k,r,e,q;charb;
6、recordlist*L;L=(recordlist*)malloc(sizeof(recordlist);输入所创表的长度:cinr;L-length=r;输入表的元素:i=1;=L-请输入第个元素:while(a)*菜单*1直接插入排序:2冒泡排序:3快速排序:4简单选择排序:5顺序查找:6退出操作:请输入你选择的操作序号:switch(b)case1:直接插入排序:inssort(L);break;2冒泡排序:bubblesort(L);3快速排序:qksort(L,1,10);for(q=1;qq+)rq.key4简单选择排序:selectsort(L);5进行顺序查找:输入要查找的元素:k;seqsearch(L,k);6a=0;退出!
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2