Java递归算法——二分查找
生活随笔
收集整理的這篇文章主要介紹了
Java递归算法——二分查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
import java.lang.reflect.Array; import java.nio.Buffer; import java.util.Arrays; import java.util.Random;//================================================= // File Name : RecFind //------------------------------------------------------------------------------ // Author : Common//類名:BinarySearch_Find //屬性: //方法: class Rec_Find{private int[] temp;private int searchKey;//private int lowerBound = 0; //下界//private int upperBound ; //上界private int nElement;public int[] getTemp() {return temp;}public void setTemp(int[] temp) {this.temp = temp;}public Rec_Find(int[] temp) {//構造函數this.temp = temp;//this.upperBound = temp.length-1;}public int find(int searchKey,int lowerBound,int upperBound){int curNum;this.searchKey = searchKey;curNum = (lowerBound+upperBound)/2;if(temp[curNum]==this.searchKey){return curNum; //find}else if(lowerBound>upperBound){return -1; //沒有find}else{if(temp[curNum]<this.searchKey){return find(searchKey,curNum+1,upperBound);}else{return find(searchKey,lowerBound,curNum-1);}}}}//類名:RandomArrays //屬性: //方法: class RandomArray{ //生成隨機數組,有Num個private int[] Arrays;public int[] getArrays(int Num){ // int[] Arrays = new int[Num];Arrays = new int[Num];Random r = new Random();for(int i=0;i<Num;i++){Arrays[i] = r.nextInt(1000); // System.out.print(Arrays[i]+"、");}return Arrays;} }//類名:OrderedArrays //屬性: //方法: class OrderedArray{ //生成有序數組,從0開始到Numpublic int[] getArrays(int Num){int[] Arrays = new int[Num];for(int i=0;i<Num;i++){Arrays[i] = i; // System.out.print(Arrays[i]+"、");}return Arrays;} }//主類 //Function : RecFind public class RecFind {public static void main(String[] args) {// TODO 自動生成的方法存根// RandomArrays array_demo = new RandomArrays(); // BinarySearch_Find arrays = new BinarySearch_Find(array_demo.getArrays(100));OrderedArray array_demo = new OrderedArray();Rec_Find arrays = new Rec_Find(array_demo.getArrays(100));System.out.println(Arrays.toString(arrays.getTemp()));System.out.println(arrays.find(55,0,100));}}?
轉載于:https://www.cnblogs.com/tonglin0325/p/5362215.html
總結
以上是生活随笔為你收集整理的Java递归算法——二分查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache2.4中开通HTTP基本认证
- 下一篇: (转) Java多线程同步与异步