A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宁少 中级黑马   /  2015-10-19 22:28  /  1100 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Day13_Array {
        public static int getIndex(int[] arr, int value) {
                int min = 0;
                int max = arr.length - 1;
                int mid = (min + max) / 2;
                if (arr[value] < min)
                        return -1;
                if (arr[value] > max)
                        return -1;
               
                while(arr[value]!=mid) {
                        if(arr[mid] < value) {
                        max = mid - 1;
                }else if(arr[value]>value){
                        min=mid+1;       
                }
                        mid=(min+max)/2;       
                }
                return mid;
        }

}

18 个回复

倒序浏览
赞赞赞!!!
回复 使用道具 举报
太优秀了!!!!
回复 使用道具 举报
+10086,受益匪浅!!!!!!!!!!!!!
回复 使用道具 举报
赞一个巨支持
回复 使用道具 举报
不错,顶一个。。。
回复 使用道具 举报
宁少 中级黑马 2015-10-19 22:50:53
7#
李金龙2015 发表于 2015-10-19 22:49
不错,顶一个。。。

嘻嘻,我也是没办法 了,醉了
回复 使用道具 举报
宁少 中级黑马 2015-10-19 22:51:54
8#
嘻嘻,我也是没办法了,醉了,醉了,,,,
回复 使用道具 举报
tink 中级黑马 2015-10-19 22:57:12
9#
不错,顶一个。。。
回复 使用道具 举报
赞一个  不错 顶一个
回复 使用道具 举报
//对数组进行折半查找 1
           public static int  find(int[] arr,int key){
                        int min=0;
                        int max=arr.length-1;
                        int mid=(min+max);
                        while(key!=arr[mid])
                   {
                                if(key>arr[mid])
                                        min=mid+1;
                                else if(key<arr[mid])
                                        max=mid-1;
                            if (max<min){
                                        return -1;
                                }
                                mid=(max+min)/2;
                                         
                        }
                                return mid;
           }
           //对数组进行折半查找 2
           public static int find_2(int[] arr,int key){
                        int min=0;
                        int max=arr.length-1;
                       
                        while(min<=max){
                                int mid=(min+max)/2;
                                if(key>arr[mid])
                                        min= mid+1;
                                else if(key<arr[mid])
                                        max=mid-1;
                                else
                                        return mid;
                        }
                        return -1;
           }
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:24:26
12#

转黑马币
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:25:38
13#
然子 发表于 2015-10-19 22:35
太优秀了!!!!

一般般,转黑马币
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:26:45
14#
空山新雨 发表于 2015-10-19 22:35
+10086,受益匪浅!!!!!!!!!!!!!

转黑马币
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:27:52
15#

黑马币,黑马币
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:29:10
16#
tink 发表于 2015-10-19 22:57
不错,顶一个。。。

黑马币,黑马币
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:30:15
17#
奔跑的小红帽 发表于 2015-10-20 00:35
//对数组进行折半查找 1
           public static int  find(int[] arr,int key){
                        int min=0;

太崇拜你了
回复 使用道具 举报
宁少 中级黑马 2015-10-21 19:31:35
18#
奔跑的小红帽 发表于 2015-10-20 00:35
//对数组进行折半查找 1
           public static int  find(int[] arr,int key){
                        int min=0;

送点马币吧,大神
回复 使用道具 举报
ppaapc 中级黑马 2015-10-21 19:51:35
19#
楼主确实666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马