【java】二分查找

    xiaoxiao2021-04-14  84

    在java中,我们常用的查找方法有两种: (1)顺序查找 (2)二分查找

    /* * 作者:筱筱 * 功能:二分查找 */ public class binarySearch { public static void main(String[] args){ int arr[] = {1,3,5,7,9,11,13,15,17,19}; BinaryFind bf = new BinaryFind(); bf.find(0, arr.length, 15, arr); bf.find(0, arr.length, 10, arr); } } //二分法 class BinaryFind{ public void find(int leftIndex, int rightIndex, int val,int arr[]){ //首先找到中间的数 int middleIndex = (leftIndex+rightIndex)/2; int midval = arr[middleIndex]; if(rightIndex >= leftIndex){ if(val > midval){ //若值比中间的数大,则在数列的右侧找 find(middleIndex+1,rightIndex,val,arr); }else if(val < midval){ //若值比中间的数小,则在数列的左侧找 find(leftIndex,middleIndex-1,val,arr); }else if(val == midval){ System.out.println("找到下标为:"+middleIndex); } }else{ System.out.println("未找到相应值"); } } }
    转载请注明原文地址: https://ju.6miu.com/read-669944.html

    最新回复(0)