版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实习6:查找1、实验目的通过编写和调用学过的三个查找算法实现数据查找,充分理解各种查找算法的算法思想 及各自的时间复杂度、适用性。2、实验内容在排序实验的基础上,在顺序表类SeqList中添加成员函数:不带监视哨的顺序查找算法;带监视哨的顺序查找算法;二分查找算法;编写主程序,循环选择调用以上3个查找算法,分别对键入的关键字记录进行 成功和不成功查找。注意:在调用二分查找算法前必须先对查找表排序。编译、运行、调试,观察排序效果。public class KeyType implements Comparable public int key;public KeyType()public Key
2、Type(int key)this.key = key;public String toString()return key + ”;public int compareTo(KeyType another)int thisVal = this.key;int anotherVal = another.key;return(thisVal anotherVal ? -1 : (thisVal = anotherVal ? 0 : 1);/public class RecordNode public Comparable key;public Object element;public Reco
3、rdNode(Comparable key) this.key = key;public RecordNode(Comparable key,Object element) this.key = key;this.element = element;public Object getKey() return key;/public class SeqList public RecordNode r;public int curlen;public SeqList(int maxSize)this.r = new RecordNodemaxSize;this.curlen = 0;public
4、void clear()curlen = 0;public void insert(int i,RecordNode x)throws Exception if(curlen = r.length)throw new Exception(顺序表已满);if(i curlen)throw new Exception(插入位置不合理);for(int j = curlen; j i;j) rj = rj - 1;ri = x;this.curlen+;public void insertSort()RecordNode temp;int i,j;for(i = 1;i = 0 & pareTo(r
5、j.key) 0;j) r j + 1 = rj;rj + 1 = temp;public void insertSortWithGuard()int i,j;for(i = 1; i this.curlen;i+)r0 = ri;for(j = i- 1;r0.pareTo(rj.key) 0;j) rj + 1 = rj;rj + 1 =r0;public void shellSort(int d)RecordNode temp;int i,j;for(int k = 0;k d.length;k+)int dk = dk;for(i = dk;i = 0 & pareTo(rj.key)
6、 0;j -= dk) rj + dk = rj;rj + dk = temp;public void bubbleSort()RecordNode temp; boolean flag = true;for(int i = 1;i this.curlen & flag;i+) flag = false;for(int j = 0;j 0) temp = rj;rj = rj + 1; rj + 1 =temp; flag = true;public int Partition(int i,int j) RecordNode pivot = ri;while(i j)while(i j & p
7、areTo(rj.key) = 0) j-;if(i j)ri = rj;i+;while(i 0) i+;if(i j) rj = ri; j-;ri = pivot;return i;public void qSort(int low,int high)if(low high)int pivotloc = Partition(low,high); qSort(low,pivotloc - 1);qSort(pivotloc + 1,high);public void quickSort()qSort(0,this.curlen - 1);public int length() return
8、 curlen;public void display() for(int i =0;i this.curlen;i+)System.out.print( + ri.getKey().toString();System.out.println();public int seqSearch(Comparable key)int i = 0,n = length();while(i n & ri.pareTo(key) != 0)i+;if(i 0)return i;elsereturn -1;public int binarySearch(Comparable key)if(length() 0
9、)int low = 0,high = length() - 1;while(low 0) high = mid - 1;elselow = mid + 1;return -1;public void remove(int i) / todo自动生成的方法存根/import java.util.Scanner;public class SeqSearch public static void main(String args)throws Exception int口 data = 89,7,46,28,4,53,7,15;int maxSize = 20;SeqList L = new SeqList(maxSize);SeqList LL = new SeqList(maxSize);while(true)for(int i = 0;i data.length;i+)KeyType key = new KeyType(datai);Object element = datai;RecordNode r = new RecordNode(key,eleme
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然药材质量保证承诺函5篇
- 营销团队销售业绩数据分析模板
- 2026年云南省牟定县茅阳中学初三第二学期调研考试(语文试题)试题含解析
- 甘肃省平凉崆峒区重点达标名校2025-2026学年初三5月教学质量调研英语试题含解析
- 湖南省怀化市会同一中学、溆浦一中学2026年初三3月联考英语试题试卷含解析
- 湖南长沙市雅礼洋湖实验中学2025-2026学年初三第三次(5月)(三模)语文试题试卷含解析
- 2026届四川省成都市大邑县初三第十次考试英语试题含解析
- 人工智能技术在智能家居系统中的应用操作手册
- 企业人力资源绩效评估体系构建工具
- 2026九年级语文下册第一单元阅读重点突破作业课件新人教版
- 2026广东广州市黄埔区机关事务管理局招聘政府雇员3人笔试备考题库及答案解析
- 屠宰厂车间能耗管理制度(3篇)
- 2026年巡特辅警笔试题库及完整答案一套
- 矿山运输车队运营管理制度
- 钛厂生产耗材领用制度
- 中华人民共和国增值税法实施条例测试题及答案
- 码头安全员培训内容
- 2026年淮南联合大学单招职业技能测试题库附答案
- (正式版)DB61∕T 2107-2025 《矿产资源规划实施评估技术规范》
- 2026年浙江高考地理真题试卷+参考答案
- 2026年新疆维吾尔自治区公安招聘辅警考试试卷及答案
评论
0/150
提交评论