用二分法查找数组中的下标
来源:互联网 发布:鬼真实存在吗 知乎 编辑:程序博客网 时间:2024/05/21 10:34
这个小示例可以进行重复测试,方便多次使用,效果明显!
package cn.wwz.test;import java.util.Arrays;import java.util.Random;import java.util.Scanner;/** * 使用二分法查找元素下标 * @Author WWZ * @Date 2017-11-21下午2:40:25 */public class Two { public static void main(String[] args) { int[] arr = new int[20]; //生成数组的大小--可以更换为其它数值 Random ra = new Random(); Scanner sc = new Scanner(System.in); int j = 0; for (int i = 0; i < arr.length; i++) { arr[i] = ra.nextInt(100); //生成100以内的随机数 } Arrays.sort(arr); //将数组排序 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+"\t"); j++; if(j%10==0){ System.out.println(); } } while(true){ System.out.println("请输入您想要查看的数字:"); int num = 0; try{ num = Integer.valueOf(sc.next()); } catch(Exception e){ System.out.println("请输入正确的数字"); System.out.println(); continue; } int begin = 0; int end = arr.length-1; boolean flag = false; while(begin<=end){ int middle = (begin+end)/2; if(num>arr[middle]){ begin = middle + 1; } else if(num<arr[middle]){ end = middle - 1 ; } if(num == arr[middle]){ flag = true; } if(flag){ System.out.println("下标为:" + middle); break; } } if(!flag){ System.out.println("对不起没找到你想要的"); System.out.println(); } } }}
阅读全文
0 0
- 用二分法查找数组中的下标
- 二分法查找数组中的数
- js二分法查找元素在排好序的数组下标
- 二维数组, 二分法查找数组元素下标 快速查找数组最大值 数组作为实参的问题
- 用php二分法查找一个值在数组中的位置
- 用二分法查找满足条件值的最大下标
- 二维数组中的查找 之 二分法
- 二维数组中的查找 之 二分法
- 使用二分法查找数组中的元素
- 二分法查找有序数组中的元素
- Java实现二分法查找数组中的元素
- 提高篇—调用函数查找数组元素下标(二分法查找)
- 设计一个模板类Sample,用于对一个有序数组采用二分法查找元素下标
- 二分法查找数组
- 二分法查找有序数组
- php数组二分法查找
- 数组二分法查找数据
- php数组二分法查找
- 安装VMware没有虚拟网卡出现
- 随机数环设想
- mobi 转 PDF最新方法 2017/11/21亲测可用
- volative、mutable和explicit关键字
- 【整理】如何读论文
- 用二分法查找数组中的下标
- 神经网络模拟器Brian2的安装
- HTTP接口设计及日志打印
- 从vultr购买到搭ss看世界
- 模块化
- Git学习
- 购物车main
- 【Scikit-Learn 中文文档 】安装 scikit-learn | ApacheCN
- 数据结构与算法分析生成N节点随机二叉查找树