Java实现的常用的查找算法
2017-08-25 14:50
417 查看
public class Search { /* * 顺序查找,返回关键字在数组中第一次出现的位置, 没找到返回-1 */ public static int searchSeq(int[] a, int key){ for(int i = 0; i < a.length; i++){ if (a[i] == key){ return i + 1; } } return -1; } /* * 折半查找,要求数组是有序排列的(从小到大) * */ public static int searchBin(int[] a, int key){ int low = 0, high = a.length - 1; while (low <= high){ int mid = (low+high)/2; if (a[mid] == key){ return mid+1; }else if(a[mid] > key){ //如果中间值大于查找值,那么将高位标记减一 high = mid - 1; }else{ //如果中间值小于查找值,将低位标记加一 low = low + 1; } } return -1; } public static void main(String[] args) { // int[] seq = {2, 4, 5, 6, 8, 10, 3}; // int[] bin = {1, 2, 3, 4, 5, 6, 7, 8}; // System.out.println(searchSeq(seq, 6)); // System.out.println(searchBin(bin, 8)); } }
相关文章推荐
- 常用排序、查找算法java实现
- Java实现三种常用的查找算法(顺序查查找,折半查找,二叉排序树查找)
- 常用的各种排序算法的JAVA实现
- 用Java实现几种常用的排序算法
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 常用的各种排序算法的JAVA实现
- 利用java实现数据结构中常用的插入排序和快速排序算法
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- java实现常用的查找(线性查找,折半查找)
- 图的常用算法的Java实现
- java常用加密解密简单实现
- HDFS上的常用文件操作java code实现
- 常用的各种排序算法的JAVA实现
- 常用的各种排序算法的JAVA实现
- Java实现的常用排序算法及对比
- 常用的各种排序算法的JAVA实现。
- 利用java实现数据结构中常用的插入排序和快速排序算法
- Java中常用数据结构的实现类 Collection和Map
- 常用的各种排序算法的JAVA实现