欢迎来到天天文库
浏览记录
ID:30723891
大小:103.50 KB
页数:10页
时间:2019-01-02
《大数据结构实验报告材料2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、○○○○○○装订线广东金融学院实验报告课程名称:数据结构实验编号及实验名称实验二:排序和查找实验系别计算机科学与技术系姓名学号班级实验地点实验日期实验时数6指导教师同组其他成员无成绩一、实验目的及要求1、通过编写和调用直接插入排序、希尔排序、冒泡排序和快速排序四种排序算法实现数据排序,充分理解各种排序算法的算法思想、排序过程及各自的时间复杂度、稳定性。2、通过编写和调用顺序查找和二分查找算法实现数据查找,掌握两个查找算法的基本思想、实现方法和时间性能。二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)1、实验设备:微型计算机;2、软件系统:WindowsXP、DWM
2、X。三、实验内容(一)排序(1)参照课本,分别编写Java程序,实现顺序表记录类RecordNode、类KeyType。(2)参照课本,编写一个Java程序,实现顺序表类SeqList,并在其中添加成员函数:length()求顺序表的当前长度;display()输出数组元素的关键字;直接插入排序算法;带监视哨的直接插入排序;希尔排序算法;起泡排序算法;快速排序算法。(3)编写主程序,循环选择调用以上5个排序算法,对数组元素排序,并输出排序过程。(二)查找(1)在排序实验的基础上,在类SeqList中添加成员函数:不带监视哨的顺序查找算法;带监视哨的顺序查找算法;二分查找算法。(2)
3、编写主程序,循环选择调用以上3个查找算法,分别对键入的关键字记录进行成功和不成功查找publicclassKeyTypeimplementsComparable{privateintkey;publicKeyType(){}publicKeyType(intkey){this.key=key;}publicintgetKey(){returnkey;}publicvoidsetKey(intkey){this.key=key;}第9页共2页publicStringtoString(){returnkey+"";}publicintcompareTo(KeyType
4、another){intthisVal=this.key;intanotherVal=another.key;return(thisVal5、Key(){returnkey;}publicvoidsetKey(Comparablekey){this.key=key;}publicRecordNode(Comparablekey){this.key=key;}publicRecordNode(Comparablekey,Objectelement){this.key=key;this.element=element;}}publicclassSeqList{privateRecordNode[]r;privateintcurlen;publicSeqList(intmaxSize){this.r=newRecordNode6、[maxSize];this.curlen=0;}publicRecordNode[]getRecord(){returnr;}第9页共2页publicvoidsetRecord(RecordNode[]r){this.r=r;}publicintlength(){returncurlen;}publicvoiddisplay(){for(inti=0;i7、ngth){thrownewException("顺序表已满");}if(i<08、9、i>curlen){thrownewException("插入位置不合理");}for(intj=curlen;j>i;j--){r[j]=r[j-1];}r[i]=x;this.curlen++;}publicvoidinsertSort(){//直接插入RecordNodetemp;inti,j;for(i=1;i
5、Key(){returnkey;}publicvoidsetKey(Comparablekey){this.key=key;}publicRecordNode(Comparablekey){this.key=key;}publicRecordNode(Comparablekey,Objectelement){this.key=key;this.element=element;}}publicclassSeqList{privateRecordNode[]r;privateintcurlen;publicSeqList(intmaxSize){this.r=newRecordNode
6、[maxSize];this.curlen=0;}publicRecordNode[]getRecord(){returnr;}第9页共2页publicvoidsetRecord(RecordNode[]r){this.r=r;}publicintlength(){returncurlen;}publicvoiddisplay(){for(inti=0;i7、ngth){thrownewException("顺序表已满");}if(i<08、9、i>curlen){thrownewException("插入位置不合理");}for(intj=curlen;j>i;j--){r[j]=r[j-1];}r[i]=x;this.curlen++;}publicvoidinsertSort(){//直接插入RecordNodetemp;inti,j;for(i=1;i
7、ngth){thrownewException("顺序表已满");}if(i<0
8、
9、i>curlen){thrownewException("插入位置不合理");}for(intj=curlen;j>i;j--){r[j]=r[j-1];}r[i]=x;this.curlen++;}publicvoidinsertSort(){//直接插入RecordNodetemp;inti,j;for(i=1;i
此文档下载收益归作者所有