© youngrivers 中级黑马 / 2016-1-16 19:00 / 7085 人查看 / 8 人回复 / 0 人收藏 转载请遵从CC协议 禁止商业使用本文
5黑马币
最佳答案int [] arr = {12,32,455,112,36,23,67,7,27};
Arrays.sort(arr); //二分算法需要数组是有序的所以先排序
/*
* 先定义最大索引,最小索引,和中间值索引
*
* */
int min = 0; //最小索引
int max = arr.length -1;//最大索引
int mid = (min + max) / 2; //中间值
//需要循环来判断,因为不知道具体次数所以用while来做
while (arr[mid] != a) { //用中间索引的值来跟传入的a值进行比较
if (arr[mid] > a) ...
| |
| |
| |
| |
| |
| |
| |
| |