用java实现折半查找
2017-01-14 23:59
295 查看
package service; import java.util.Scanner; public class Test003 { public static int Max = 20; // 数据数组源 public static int data[] = { 12, 16, 19, 22, 25, 32, 39, 39, 48, 55, 57,58,63, 68, 69, 70, 78, 84, 88, 90, 97 }; // 计数器 public static int count = 1; public static void main(String[] args) { System.out.println("请输入您要查找的数字:"); Scanner sc = new Scanner(System.in); int KeyValue = sc.nextInt(); // 调用折半查找 if (Search(KeyValue)) { // 输出查找次数 System.out.println("共查找了" + count + "次"); } else { // 输出没有找到数据 System.out.println("抱歉,数据数组源中找不到您输入的数字"); } } // 折半查找法 public static boolean Search(int k) { int left = 0;// 左边界变量 int right = Max - 1;// 右边界变量 int middle;// 中位数变量 while (left <= right) { middle = (left + right) / 2; if (k < data[middle]) { right = middle - 1;// 查找前半段 } else if (k > data[middle]) { left = middle + 1;// 查找后半段 } else if (k == data[middle]) { System.out.println("Data[" + middle + "] = " + data[middle]); return true; } count++; } return false; } }
相关文章推荐
- 【算法数据结构Java实现】折半查找
- java 实现折半(二分)查找
- 二分法(折半)查找java实现
- 用Java实现有序数列的折半查找
- 算法 -- Java实现二分(折半)查找(图解 + 代码实现)
- java实现有序数组的折半查找
- 线性查找与二分查找(java实现)
- java递归实现二分查找
- java实现的递归方法逆序对查找
- Java+Mysql的数据库查找实现
- 算法导论Java实现-二分查找(习题2.3-5)
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- Java实现从文本中查找最长的回文字符串
- 用java实现,查找字符串中第一个没有重复出现的字符
- 无聊写的java实现各类的查找
- 折半查找JAVA实现
- Java实现冒泡排序与二分法查找
- Java实现目录查找与文本阅读
- 用java实现二分法快速查找例程
- java实现常用的查找(线性查找,折半查找)