Java 查找方法(普通查找,二分查找)
2013-04-16 22:14
423 查看
public class ArraySearchTest { public static int search(int[] a , int value) { for(int i = 0; i < a.length - 1; i++) { if(a[i] == value ) { return i; } } return -1; } public static int binarySearch(int[] array , int value) { int low = 0; int high = array.length -1; int middle; while(low <= high) { middle = (low + high)/2; for(int i = 0; i < array.length; i++) { System.out.print(array[i]); if( middle == i) { System.out.print("#"); } System.out.print(" "); } System.out.println(); if(array[middle] == value) { return middle; } if(value < array[middle]) { high = middle - 1; } if(value > array[middle]) { low = middle + 1; } } return -1; } public static void main(String[] args) { int[] a = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; int value = 11; int index = search(a, value); System.out.println(index); System.out.println("-----------------"); int[] b = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; int index2 = binarySearch(b , 5); System.out.println(index2); } }
相关文章推荐
- JDK自带的二分查找算法和自己写的普通二分查找算法的比较(java二分查找源代码)
- 一维数组中的一些常用方法(打印数组、逆序、选择排序、冒泡排序、二分法查找、普通查找)
- java查找值二分查找和线性查找
- Java类的各种成员初始化顺序如:父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺序
- java实现查找算法——折半查找(二分查找)
- java实现二分查找-两种方式
- Java中泛型二分查找,继承Comparable接口
- Java程序语言 顺序查找、二分查找
- 关于 Java源文件带有package的普通程序和Applet编译和运行时错误的处理方法
- java实现二分查找
- android用java和c实现查找sd卡挂载路径(sd卡路径)的方法
- java二分查找详解
- Java查找算法——二分查找
- 二分查找的java实现
- Java实现二分查找
- Java中常用的查找算法——顺序查找和二分查找
- Java选择排序、冒泡排序、直接插入排序与二分查找
- JAVA数组排序——二分(折半)查找
- java二分查找
- 递归的定义以及递归的示例(计算阶乘、计算斐波那契数、递归二分查找、回文串递归方法解决、汉诺塔问题、递归选择排序问题)