标签:
package com.cn.find; public class BinaryFind { /* * 项目名称:二分查找 ; * 项目要求:用JAVA对数组进行查找,并运用快速查找算法; * 作者:Sevck; */ public void find(int leftIndex, int rightIndex, int val, int arr[]) { // 首先找到中间的数 int midIndex = (leftIndex + rightIndex) / 2; int midval = arr[midIndex]; // 如果要找的数比midval大 if (rightIndex >= leftIndex) { if (midval > val) { // 在arr左边数中找 find(leftIndex, midIndex - 1, val, arr); } else if (midval < val) { // 在arr右边数中找 find(midIndex + 1, rightIndex, val, arr); } else if (midval == val) { System.out.println("找到下标:" + midIndex); } } } public static void main(String[] args) { int arr[] = { 2, 5, 7, 12, 55 }; BinaryFind bf = new BinaryFind(); bf.find(0, arr.length-1, 55, arr); } }
标签:
原文地址:http://www.cnblogs.com/bksqmy/p/4563881.html