Flask接口签名sign原理与实例代码浅析
261
2023-03-25
java数据结构之二分查找法 binarySearch的实例
java数据结构之二分查找法 binarySearch的实例
折半查找法,前提是已经排好序的数组才可查找
实例代码:
public class BinarySearch {
int[] bArr;
public void setArr(int[] bArr){
this.bArr=bArr;
}
public static void main(String[] args) {
int arrLength=16;
int[] bArr=new int[arrLength];
System.out.println("数组:");
bArr=new int[]{72,31,13,94,85,27,64,71,19,55,49,40,8,70,17,13};
for(int i=0;i //bArr[i]=(njRZWgint)(Math.random()*100); System.out.print(bArr[i]+" "); } System.out.println(); System.out.println("排序:"); QuickSort qs=new QuickSort(); qs.setArr(bArr); qs.quickSort(0, bArr.length-1); for(int i=0;i System.out.print(bArr[i]+" "); } BinarySearch bs=new BinarySearch(); bs.setArr(bArr); System.out.println(); System.out.println("查找:"); int val=bs.binarySearch(bArr.length-1, 0, 13); System.out.println("查找:bArr["+val+"]="+13); } int binarySearch(int max,int min,int val){//有重复的取的是第一个出现的位置 int mid=(max+min)/2; if(val==bArr[mid]){ return mid; } else if(val>bArr[mid]){ return binarySearch(max,mid,val); } else if(val return binarySearch(mid,min,val); } return -1;//查找失败 } } 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
//bArr[i]=(njRZWgint)(Math.random()*100);
System.out.print(bArr[i]+" ");
}
System.out.println();
System.out.println("排序:");
QuickSort qs=new QuickSort();
qs.setArr(bArr);
qs.quickSort(0, bArr.length-1);
for(int i=0;i System.out.print(bArr[i]+" "); } BinarySearch bs=new BinarySearch(); bs.setArr(bArr); System.out.println(); System.out.println("查找:"); int val=bs.binarySearch(bArr.length-1, 0, 13); System.out.println("查找:bArr["+val+"]="+13); } int binarySearch(int max,int min,int val){//有重复的取的是第一个出现的位置 int mid=(max+min)/2; if(val==bArr[mid]){ return mid; } else if(val>bArr[mid]){ return binarySearch(max,mid,val); } else if(val return binarySearch(mid,min,val); } return -1;//查找失败 } } 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
System.out.print(bArr[i]+" ");
}
BinarySearch bs=new BinarySearch();
bs.setArr(bArr);
System.out.println();
System.out.println("查找:");
int val=bs.binarySearch(bArr.length-1, 0, 13);
System.out.println("查找:bArr["+val+"]="+13);
}
int binarySearch(int max,int min,int val){//有重复的取的是第一个出现的位置
int mid=(max+min)/2;
if(val==bArr[mid]){
return mid;
}
else if(val>bArr[mid]){
return binarySearch(max,mid,val);
}
else if(val return binarySearch(mid,min,val); } return -1;//查找失败 } } 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
return binarySearch(mid,min,val);
}
return -1;//查找失败
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~