JAVA查找--[二分查找]

 1 package com.array;
 2 
 3 public class BinaryFind {
 4     /*
 5      * 项目名称:二分查找 ;
 6      * 项目要求:用JAVA对数组进行查找,并运用快速查找算法;
 7      * 作者:Sevck;
 8      */
 9     public void find(int leftIndex, int rightIndex, int val, int arr[]) {
10         // 首先找到中间的数
11         int midIndex = (leftIndex + rightIndex) / 2;
12         int midval = arr[midIndex];
13         // 如果要找的数比midval大
14         if (rightIndex >= leftIndex) {
15             if (midval > val) {
16                 // 在arr左边数中找
17                 find(leftIndex, midIndex - 1, val, arr);
18             } else if (midval < val) {
19                 // 在arr右边数中找
20                 find(midIndex + 1, rightIndex, val, arr);
21             } else if (midval == val) {
22                 System.out.println("找到下标" + midIndex);
23             }
24         }
25     }
26 
27     public static void main(String[] args) {
28         int arr[] = { 2, 5, 7, 12, 55 };
29         BinaryFind bf = new BinaryFind();
30         bf.find(0, arr.length - 1, 12, arr);
31     }
32 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。