zoukankan      html  css  js  c++  java
  • 二分法查找

    知道原理就好写,在有序表中,取中间元素作为比较对象,若给定值与中间元素相等,则查找成功;若给定值小于中间元素,则在中间元素的左半区继续查找;若给定值大于中间元素,则在中间元素的右半区继续查找。不断重复上述过程,直到找到为止。(1)待查找的列表必须有序。
    (2)必须使用线性表的顺序存储结构来存储数据。

    public class MainActivity extends AppCompatActivity {
        int[] arr = new int[]{1, 3, 5, 6, 7, 8, 9};
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            int erfen = erfen(arr, 8);
            System.out.println(erfen +"数组下标");
    
        }
    
        public int erfen(int[] array, int target) {//返回下标index
            int start = 0;
            int end = array.length - 1;
            while (true) {
                int mid = (start + end) / 2;
                if (array[mid] == target) {
                    return mid;
                } else if (array[mid] > target) {
                    end = mid - 1;
    
                } else {
                    start = mid + 1;
                }
            }
        }
    }
  • 相关阅读:
    new
    如何在win7上面安装python的包
    进程
    网络编程模块的使用
    面向对象基础与实例
    类与对象的属性与使用方法
    基础面向对象与面向过程
    RE模块垃圾回收机制
    常用函数模块
    thinkphp6 find_in_set使用实例
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/11028680.html
Copyright © 2011-2022 走看看