zoukankan      html  css  js  c++  java
  • java常用算法

    冒泡排序:

        //降序
        public static int[] bubbleSort(int[] array){
            for(int i = 0; i < array.length; i++){
                int curval = array[i];
                for(int j = i - 1; j >= 0; j--){
                    int temp = array[j];
                    if(curval > temp){
                        array[j] = curval;
                        array[j+1] = temp;
                    }
                }
            }
            return array;
        }
        //升序
        public static int[] bubbleSort(int[] array){
            for(int i = array.length - 1; i >= 0; i--){
                int curval = array[i];
                for(int j = i; j < array.length-1; j++){
                    int tempval = array[j+1];
                    if(tempval < curval){
                        array[j+1] = curval;
                        array[j] = tempval;
                    }
                }
            }
            return array;
        }

    二分法查找

    //降序
        public static int binarySearch (int[] array, int search){
            int start = 0;
            int end = array.length-1;
            int middle = array.length / 2;
            for(; start <= end; ){
                middle = (start + end) / 2;
                int val = array[middle];
                if(val == search){
                    return middle;
                }else if(val > search){
                    start = middle + 1;
                }else{
                    end = middle - 1;
                }
            }
            
            return -1;
            
        }
      //升序
        public static int binarySearch(int[] array, int search){
            int start = 0;
            int end = array.length - 1;
            int middle = (start + end) / 2;
            for(;start <= end;){
                middle = (start + end) / 2;
                int midval = array[middle];
                if(midval > search){
                    end = middle - 1;
                }else if(midval < search){
                    start = middle + 1;
                }else{
                    return middle;
                }
            }
            return -1;
        }

     调用

        public static void main(String[] args){
            int[] test = new int[]{1,200,164,29,298,188,34,52,287,100,33};
            int[] bubres = bubbleSort(test);
            for(int i = 0; i < bubres.length; i++){
                System.out.println(i + "*************" + bubres[i]);
            }
            
            System.out.println("-----*****" + binarySearch(bubres, 1));
        }
  • 相关阅读:
    [转]Delphi中进行延时的4种方法
    [转]delphi 删除动态数组的指定元素
    vue-transition-fade
    移动端list布局,左边固定,右边自适应
    移动端弹窗
    多行文字超出省略显示
    jsonp
    barba 页面渲染
    barba.js 优化页面跳转用户体验
    页面返回无刷新
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/4508494.html
Copyright © 2011-2022 走看看