Java代码实现一维数组的二分查找(折半查找)(非递归方法)
2016-12-06 20:15
531 查看
实现数组的二分查找,比较简单的方法,是使用java.util.Arrays类:
先用Arrays.sort(int arr[])方法进行数组排序,后用Arrays.binarySearch(int
arr[],int key)方法实现查找。
下面是使用源代码实现二分查找:
1、先排序(冒泡排序)
2、后查找:
先用Arrays.sort(int arr[])方法进行数组排序,后用Arrays.binarySearch(int
arr[],int key)方法实现查找。
下面是使用源代码实现二分查找:
1、先排序(冒泡排序)
public static void bubble(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } }
2、后查找:
public static int binarySearch(int[] arr,int key){ int start = 0; int end = arr.length - 1; while (start <= end) { int middle = (start + end) / 2; if (key < arr[middle]) { end = middle - 1; } else if (key > arr[middle]) { start = middle + 1; } else { return middle; } } return -1; }
相关文章推荐
- 数组全排列---递归方法实现(java)
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- Java递归方法求5!的实现代码
- 递归方法判断数组中的元素是否有序(Java实现)
- JAVA断点续传实现方法代码(HTTP)
- 折半查找实现算法二(递归办法)PS:编译后有一个warning,但不影响结果,代码设计上应该还有些问题
- * java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- Java实现折半查找(二分查找)的递归和非递归算法
- java代码实现递归@oneToMany
- php实现无限级分类实现代码(递归方法)
- Java实现折半查找(二分查找)的递归和非递归算法
- Javascript 数组添加一个 indexOf 方法的实现代码
- Javascript 数组添加 shuffle 方法的实现代码
- * java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换
- 购物车的 java 代码实现方法
- java动态代理类,测试,实现AOP,在执行target回调方法前后插入相关代码处理
- java实现的递归方法逆序对查找
- 完全二叉树的JAVA实现(以及非递归遍历方法)
- 马士兵 Java 第5章(1) 分别使用面向对象和面向结构(数组)的设计方法来实现“数三退一”