zoukankan      html  css  js  c++  java
  • 排序算法

    /**
    * 冒泡排序
    * @param arr
    * @return
    * 重复arr.length次循环,每次循环都是相邻两个数比较,较大的放在后面
    */
    public static int[] maopaoSort(int[] arr){
    for(int i=0;i<arr.length-1;i++){
    for(int j=0;j<arr.length-i-1;j++){
    if(arr[j]>arr[j+1]){
    int temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    }
    }
    }
    return arr;
    }
        /**
         * 冒泡排序(改进)
         * @param arr
         * @return
       * 如果在一次循环中没有发生数据交换,说明数组已经排序好了,直接退出循环
    */ public static int[] maoPaoSort(int[] arr){ boolean flag=false; for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; flag=true; } } if(flag){ break; } } return arr; }

     选择排序:

    /**
         * 选择排序
         * @param arr
         * @return
         * 循环arr.length次,第一次循环将第一个数和后面的所有数所比较如果大于后面的数则交换位置
         *                   第二次从第二个数开始和后面的数比较,以此类推。
         */
        public static int[] selectSort(int[] arr){
            for(int i=0;i<arr.length-1;i++){
                for(int j=i+1;j<arr.length;j++){
                    if (arr[i]>arr[j]){
                        int temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
    
            return arr;
        }

     插入排序:

      /**
         * 插入排序
         * @param array
         * @return
         */
        public static int[] insertSort(int[] array){
            /*直接插入排序
            在排序之前我们需要搞清一个思路,新插入一个数据的时候,排序过后的数组都是
            从小到大排列好的,所以我们需要从后往前查找,直到找到比我们要插入的数字还小的
            值。这个时候我们需要一个变量j作为标识*/
            for(int i = 1;i<array.length;i++){
                int temp = array[i];
                int j;
                for(j = i-1;j>=0;j--){
                    //将大于temp的数向后移动一步
                    if(array[j]>temp){
                        array[j+1] = array[j];//记录j的值也就是temp要插入的位置
                    }else{
                        break;
                    }
                }
                array[j+1] = temp;
            }
            return array;
        }
  • 相关阅读:
    gif&png&jpg&webp
    设计点滴&css效果点滴
    backbone点滴
    js自己总结的小东西(打印出来方便学习)
    nodejs点滴
    js类型
    mongo学亮的分享
    npm package.json中的dependencies和devDependencies的区别
    161130、Dubbo+SpringMVC工程创建详解
    161129、详解5种跨域方式及其原理
  • 原文地址:https://www.cnblogs.com/fightmylife/p/11275505.html
Copyright © 2011-2022 走看看