JAVA数组排序——二分(折半)查找
2016-05-01 15:08
465 查看
JAVA数组排序——二分(折半)查找
/** * *Title: project_name *Description: 对数组的二分查找 *Makedate:2016年5月1日 下午2:57:19 *@author: sunt Email:wnst1990@126.com *@version: 1.0 */ public class Demo4 { public static void main(String[] args) { /* * public static int binarySearch(int[] a,int key)使用二进制搜索算法来搜索指定的 int 型数组,以获得指定的值。 * 必须在进行此调用之前对数组进行排序(通过上面的 sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素, * 则无法保证找到的是哪一个。 参数: a - 要搜索的数组。 key - 要搜索的值。 返回: 搜索键的索引,如果它包含在列表中;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入列表的那一点:即第一个大于此键的元素索引, 如果列表中的所有元素都小于指定的键,则为 list.size()。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。 */ //定义一个数组 int [] arr = {12,234,3,5,46,54,7,6,8,7,879,80,989,54,35,3,4234,2312}; printArr(arr); System.out.println("------------排序之前的数组------------"); Arrays.sort(arr); printArr(arr); System.out.println("-----------排序之后的数组----------"); int search = Arrays.binarySearch(arr, 88); System.out.println("-------要搜索的数组元素-----" + search); printArr(arr); System.out.println("------二分法排序之和的数组-----------"); } /** * 定义一个方法循环遍历数组 */ public static void printArr(int arr []){ for (int i = 0; i < arr.length; i++) { System.out.println("arr[" + i +"] = " + arr[i]); } } }
相关文章推荐
- Java基础之对象序列化
- spring的启动过程——spring和springMVC父子容器的原理
- 20145230《java程序设计》 第四次实验报告
- Hashmap实现原理
- 浅谈struts.xml在SSH中的作用
- JDK源码浅析之ArrayList类
- 回调函数透彻理解Java
- JAVA中数组的排序
- 正确实现用spring扫描自定义的annotation
- Java transient关键字的理解
- Java基础、面向对象总结
- Java核心知识点-路径获取
- JAVA设计模式之单例模式:内部静态类
- Java 高效并发
- java中通过索引求数组中的最值
- 应该具备的调试技能(java)
- 最大公约数和最小公倍数--java实现
- java中notify,wait,sleep
- Uninstall JDK rpm to reinstall
- JAVA中获取数组中的最值