所谓二分法,就是将一个数组中的元素一份为二,缩小区间进行比较,提高运行速度。
类型:输入一个数,在一个有序的数组中找到相同的元素的位置。
步骤:1、随机产生一个索引为10的数组arr[];
2、利用排序方式对其排序(按从小到大排序,具体方式查看博客,本文采用Array.sort(arr)进行快排。)
JAVA学习实例(四)——排序法_abcdef_12a的博客-CSDN博客
3、输入一个数 a;
4、取数组arr的两端索引为 left、right;取中间值mid=(left+right)/2;
5、比较 a与arr[mid]的大小:a>arr[mid]时,取索引区间{mid+1,right}
a<arr[mid]时,取索引区间{left,mid-1}
6、同4、5步,再取新的区间的中间进行比较,直至找到元素或查找完毕
具体程序如下:
package cn; import java.util.Arrays; import java.util.Scanner; //@Author //@