二分搜索的java实现
2012-10-30 22:03
330 查看
/* --------------------------------------------------------------- * author: xujin, 4100213 * date: Oct 17, 2012 * binarySearch * to search a number in an array by using binarySearch algorithm * example: binarySearch([1,2,3,4,5,6,7,8], 3, 8) * to produce 2 *---------------------------------------------------------------*/ import java.util.Scanner; class BinSearch{ public static int binarySearch(int a[], int x, int n){ int left = 0; int right = n - 1; while(left <= right){ //int middle = (left + right)/2; int middle = left + (right - left)/2; if(x == a[middle]) return middle; if(x > a[middle]) left = middle + 1; else right = middle - 1; } return -1; } } public class xujin_4100213_BinarySearch { static Scanner cin = new Scanner(System.in); public static void main(String[] args){ System.out.print("Please input a integer(the size of array): "); int sizeOfArray = cin.nextInt(); int a[] = new int[sizeOfArray]; System.out.print("Please input " + sizeOfArray + " sorted numbers: "); for(int i = 0; i < sizeOfArray; i++) a[i] = cin.nextInt(); System.out.print("Please input the number you want to search: "); int x = cin.nextInt(); System.out.print("Location: " + BinSearch.binarySearch(a, x, sizeOfArray)); } }
相关文章推荐
- 实验一 分治与递归―二分搜索 java实现
- 算法入门---java语言实现的二分搜索树小结
- java实现二分搜索树
- 算法与数据结构-二分搜索 讲解与java代码实现
- 二分搜索及其变形--java实现
- 编程珠玑第五章二分搜索(折半查找)之java实现
- Java使用分治算法实现排序数索引功能示例【二分搜索】
- Java 分治算法实现排序数索引(二分搜索)
- [转]编程珠玑第五章二分搜索(折半查找)之java实现
- 二分搜索学习笔记 Java实现
- 编程珠玑第五章习题五——C++实现二分搜索时进行错误检测
- java 实现微信搜索附近人功能
- 旋转数组中的最小值(二分搜索实现)
- 二分搜索的递归实现算法
- java实现图的深度优先搜索和广度优先搜索
- Google 以图搜图 - 相似图片搜索原理 - Java实现
- 二分法搜索(JAVA语言实现)
- 广度优先搜索与深度优先搜索的 java 实现
- 算法实现(3)二分搜索技术
- 二分查找的实现---java版本