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;
                }
            }
        }
    }
  • 相关阅读:
    ubuntu 12.04 安装 redis
    php 获取中文字符拼音首字母
    js 调整排序
    python 练习
    Configuring Locales
    missing locales
    clean code meaningful names
    ubuntu 12.04 支持中文----完胜版
    why add to http response.responseText
    不通过扩展名,去判断文件类型
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/11028680.html
Copyright © 2011-2022 走看看