码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA查找--[二分查找]

时间:2015-05-12 22:49:24      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

 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 }

 

JAVA查找--[二分查找]

标签:

原文地址:http://www.cnblogs.com/sevck/p/4498673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!