java数组排序之二分法排序

              基本思想:    给定一个有序的数组,然后判断一个数字是否存在于数组当中。设定三个变量,int min,max,mid分别记录数组中的下标值min = 0, max = arr.length-1,mid = (min+max)/2.然后在通过循环并判断。

               问题:  已知一数组int [ ] arr = new int[ ] {13,15,19,28,33,45,78,106},若判定45是否存在于数组当中。

               操作:        1.    取中间的下标mid = (min+max)/2

                                2.    发现45大于 arr[mid]的值,此时min = mid+1;再进行判断mid = (min+max)/2

                                3.    此时发现45等于arr[mid]的值,可以返回mid的下标。

                               

               

                 实现代码:

                 

猜你喜欢

转载自blog.csdn.net/qq_39645768/article/details/81207350
今日推荐