脚本宝典收集整理的这篇文章主要介绍了20202306 实验七 《查找与排序》,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
# 20202306 2021-2022-1 《数据结构与面向对象程序设计》实验七报告课程:《程序设计与数据结构》班级: 2023姓名: 李金城学号:20202306实验教师:王志强实验日期:2021年11月12日必修/选修: 必修## 1.实验内容
定义一个SeArching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试。 要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位 提交运行结果图。
重构你的代码 把Sorting.java Searching.java放入 cn.edu.besti.cs2023.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301) 把测试代码放test包中 重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)
参考http://www.cnblogs.COM/maybe2030/p/4715035.htML ,学习各种查找算法并在Searching中补充查找算法并测试 提交运行结果截图
实现排序方法等(至少3个) 测试实现的算法(正常,异常,边界) 提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)
码云链接:https://e.gITee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/Sorting.java
https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/Searching.java
2.重构你的代码
3. & 4.参考http://www.cnbLOGs.com/maybe2030/p/4715035.html ,学习各种查找算法并在Searching中补充查找算法并测试;实现排序方法等(至少3个)测试实现的算法(正常,异常,边界)
public class Fibonacci { public boolean order(int[] arr,int target){ int i=0; int a = target; while(arr[i]!=target) { i++; if(i==arr.length) break; } return i==arr.length?false:true; } public void sort(int arr[]){ for(int i =1;i<arr.length;i++) { for(int j=0;j<arr.length-i;j++) { if(arr[j]>arr[j+1]) { int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } public boolean binary(int[] arr,int min,int max,int mid,int target){ boolean found = false; mid = (min + max) / 2; int midd = mid; if(arr[midd]==target) found = true; else if (arr[midd]!=target) { if(target<arr[midd]) { max = midd-1; midd--; found = binary(arr,min,max,midd,target); } else if(target>arr[midd]) { min = midd+1; midd++; found = binary(arr,min,max,midd,target); } } return found; } public int binaryshow(int[] arr,int min,int max,int mid,int target){ int found = 0; mid = (min + max) / 2; int midd = mid; if(arr[midd]==target) found = arr[midd]; else if (arr[midd]!=target) { if(target<arr[midd]) { max = midd-1; midd--; found = binaryshow(arr,min,max,midd,target); } else if(target>arr[midd]) { min = midd+1; midd++; found = binaryshow(arr,min,max,midd,target); } } return found; } public int[] hash(int[] arr){ int[] arr1 = {0,0,0,0,0,0,0,0,0,0,0,0}; for(int i=0;i<arr.length;i++) { if(arr1[arr[i]%11] == 0) arr1[arr[i]%11] = arr[i]; else { for(int j=2;j<arr.length;j++) if(arr1[j-1] == 0) { arr1[j-1] = arr[i]; break; } } } return arr1; } public int hashsearch(int[] result,int target){ int k = target%11,i,re = 0; if(result[k]==target) re = result[k]; else { for(i=k;k<result.length;k++) { if(result[k]==target) { re = result[k]; break; } } } return re; } public Linked[] linkedhash(Linked[] linked){ Linked[] arr1 = new Linked[12]; int i; for(i=0;i<12;i++) arr1[i] = new Linked(0); for(i=0;i<linked.length;i++) { if((arr1[linked[i].getnum()%11]).getnum() == 0) arr1[linked[i].getnum()%11] = linked[i]; else