1.二分查找

没啥好说的 看代码就好

    private static int erFenChaZhao(int[] arr, int result){
        int min = 0;
        int max = arr.length - 1;
        while (min <= max) {
            int mid = (max + min) / 2;
            if (arr[mid] == result){
                return mid;
            }else if (arr[mid] < result){
                min = mid + 1;
            }else if (arr[mid] > result){
                max = mid - 1;
            }

        }
        return -1;
    }

2.冒泡排序

假设待排序数列有n个元素,则只需要进行n-1次排序
每单次排序结束后, 下一次的比较就会少一个数据参与

//从小到大排序
    private static int[] maoPaoPaiXv(int[] arr) {
        for (int i = arr.length - 1; i > 0; i--) {
            for (int j = 0; j+1 <= i; j++){
                if (arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }
//从大到小排序
    private static int[] maoPaoPaiXvFan(int[] arr) {
        for (int i = arr.length - 1; i > 0; i--) {
            for (int j = 0; j+1 <= i; j++){
                if (arr[j] < arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }

其实就是拿从小到大冒泡的代码中把最大的放在最右边的部分, 改成了把最小的放在最右边