数组---二分查找
来源:互联网 发布:大数据的主要来源于 编辑:程序博客网 时间:2024/05/17 08:21
- 二分查找,又称折半查找
- 注意:二分查找的数组必须是有序的
- 思路:
1)定义最大索引和最小索引
2)计算出中间索引:
如果要查的元素和中间索引对应的元素相等,返回中间索引
如果不相等:大了,左边找;小了,右边找
3)重写计算出中间索引:
大了:max = mid -1 ;
小了:min = mid+1 ;
4)继续回到2)进行重新计算在查找
public class Demo3 { public static void main(String[] args) { //静态初始化一个数组 int[] arr = {10,20,30,40,50}; Scanner sc = new Scanner(System.in); System.out.println("请输入要查找的值:"); int a = sc.nextInt(); //定义最大最小索引 int max = arr.length-1; int min = 0; //计算中间索引 int mid = (max+min)/2; while(arr[mid] != a){ if(arr[mid] > a){ max = mid-1; }else{ min = mid+1; } if(max < min){ System.out.println("没有这个数"); break; } mid = (max+min)/2; } System.out.println("这个数的索引为:"+mid); }}结果:请输入要查找的值:20这个数的索引为:1
阅读全文
0 0
- 数组-二分查找
- 二分查找 字符串数组
- 数组与二分查找
- 数组(二分查找)
- 二分查找、数组合并
- 二分查找,数组
- 数组-二分查找
- 数组-二分查找
- 二维数组二分查找
- [数组]二分查找算法
- 数组---二分查找
- 数组二分查找
- 有序数组\二分查找
- 有序数组二分查找
- 一维数组二分查找
- 旋转数组的二分查找
- 旋转数组的二分查找
- 有序数组中的二分查找
- php5.6.32版本编译安装参数官方说明参考
- 118. Pascal's Triangle
- 切水王#7
- MySQL与SQLite的区别及迁移
- 2017.08.05【NOIP提高组】模拟赛B组小结
- 数组---二分查找
- 关于复选框全选,全不选以及使用按钮传值
- bzoj1668 [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(dp)
- 2017.08.05 vao和vbo使用
- python面向对象笔记
- 匈牙利算法模板(无算法讲解)
- div+css实现简单幻灯片动画
- DBCP-template
- 【LeetCode】006.ZigZag Conversion