• 二分查找法 日记


    package test;
    
    import java.util.Arrays;
    
    public class DichotomyTest {
    
        public static void main(String[] args) {
            // System.out.println(Sorting(getArray(), 88));
            System.out.println(Sorting(getArray(), 0, getArray().length - 1, 3));
        }
    
        public static int[] getArray() {
            int[] array = new int[10];
            array[0] = 10;
            array[1] = 15;
            array[2] = 10;
            array[3] = 22;
            array[4] = 18;
            array[5] = 51;
            array[6] = 4;
            array[7] = 21;
            array[8] = 88;
            array[9] = 3;
            Arrays.sort(array);
            return array;
        }
    
        // 二分查找法(非递归)
        public static int Sorting(int[] array, int code) {
            int len = array.length;
            int start = 0, end = len - 1, mid;
            while (start <= end) {
                mid = (end + start) / 2;// 中间数会渐渐接近指定数
                if (code == 0 || array.length ==0 ) {
                    return -1;
                }
                if (array[mid] == code) {
                    return mid;
                } else if (array[mid] < code) {
                    start = mid + 1;
                } else {
                    end = mid - 1;
                }
            }
            return -1;
        }
    
        // 递归查找
        public static int Sorting(int[] array, int start, int end, int code) {
    
            int mid = (start + end) / 2;
            if (code == 0 || array.length ==0 || start>end) {
                return -1;
            }
            if (array[mid] == code) {
                return mid;
            } else if (array[mid] < code) {
                return Sorting(array, mid + 1, end, code);
            } else {
                return Sorting(array, start, end - 1, code);
            }
    
        }
    }
  • 相关阅读:
    第一章 新手入门
    Excle生成T层加工ODS层存储过程
    Excel生成建表角本
    数据仓库建模技巧
    算法第四章作业
    删数问题
    算法第三章作业
    第三章上机实践报告
    第二章作业
    Thinkphp6框架学习:($this->error()undefined)Call to undefined method appindexcontrollerAdmin::error()
  • 原文地址:https://www.cnblogs.com/tmftmb/p/8623629.html
Copyright © 2020-2023  润新知