java之二分查找
2016-03-26 22:51
453 查看
二分查找的前提条件是数组中的元素必须已经排序,不管是按照升序还是降序排列。
示例代码如下:
示例代码如下:
//二分查找 import java.util.*; public class Demo032605{ public static int binarySearch( int[] list, int number ){ int low = 0; int high = list.length-1; while ( high >= low ){ int mid = ( low + high ) / 2; if ( number > list[mid] ) low = mid + 1; else if ( number == list[mid] ) return mid; else high = mid - 1; } return -1; } public static void main( String [] args ){ int[] list = { 2, 4, 5, 6, 11, 12,45,66,88,87,90,99,233 }; for ( int i = 0; i < list.length; i++ ){ System.out.print( list[i] + "\t" ); } System.out.println( "\n" ); Scanner input = new Scanner( System.in ); System.out.print( "please input a number: " ); int number = input.nextInt(); int k = binarySearch( list, number ); System.out.println( "The " + number + " list is " + k ); } }
相关文章推荐
- Spring Batch(5): Step详解
- Java——新IO 通道
- Spring boot 入门 实例
- Java-HashTable源码分析
- Java基础之List实现篇
- Java并发:线程安全的单例模式
- Spring框架的两个简化XML配置文件的p-namespace和c-namespace
- Java集合对象排序
- 弹出提示框的方式——java
- Java中 set、 list、 array、 Map相互转换
- Java并发:volatile内存可见性和指令重排
- Java DAO
- java split
- JAVA多线程——线程的休眠和恢复
- Java bytecode instruction listings
- java中的按位与运算
- Java并发编程学习笔记(3)――线程同步进阶
- java反射详解
- java四种内部类详解
- java中的左右移