二分法搜索(JAVA语言实现)
2017-09-15 17:57
267 查看
public class BanarySearch {
public static void main(String[] args) {
int [] ints={1,3,12,33,44,45,56,78,90};
int index=binarySearch(ints, 77);
System.out.println(index);
}
public static int binarySearch(int[] arr, int index) {
int min = 0, max = arr.length - 1;
int mid = (min + max) >> 1;
while (arr[mid] != index) {
if (index > arr[mid]) {
min = mid + 1;
} else if (index < arr[mid]) {
max = mid - 1;
}
if (max < min)
return -1;
mid = (min + max) >> 1;
}
return mid;
}
}
public static void main(String[] args) {
int [] ints={1,3,12,33,44,45,56,78,90};
int index=binarySearch(ints, 77);
System.out.println(index);
}
public static int binarySearch(int[] arr, int index) {
int min = 0, max = arr.length - 1;
int mid = (min + max) >> 1;
while (arr[mid] != index) {
if (index > arr[mid]) {
min = mid + 1;
} else if (index < arr[mid]) {
max = mid - 1;
}
if (max < min)
return -1;
mid = (min + max) >> 1;
}
return mid;
}
}
相关文章推荐
- 算法入门---java语言实现的二分搜索树小结
- Java语言实现二分法
- 二分法搜索(java实现)
- 用纯JAVA语言实现读取MAC地址
- Base64编码的Java语言实现(转)
- 用纯JAVA语言编程读取MAC地址的实现
- 【转】用纯JAVA语言编程读取MAC地址的实现
- 实现Java与C语言接口
- 使用Spring Introducation 让Java类实现动态语言特性
- Java语言中链表和双向链表的实现-Java基础-Java-编程开发
- 用递归的方式实现文件内容搜索(java)
- Java语言中链表和双向链表的实现
- 75KB JAVA语言实现的流媒体服务器-milgra0.8b
- 仿Windows文件搜索 JAVA 实现
- 用纯JAVA语言编程读取MAC地址的实现
- pl/x 语言语法分析器的java实现
- Strassen矩阵乘法(分治策略,java语言实现)
- 实现Java与C语言接口
- 二分法Java实现
- Java语言中链表和双向链表的实现