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;
        }
  • 相关阅读:
    如何在Element 使用正则表达式校验
    Vs Code 微信小程序 神兵利器合集
    分享CSS公共类库(能在项目快捷使用CSS类)
    Element+Axios上传图片 OR 文件
    两种简洁的数组对象去重姿势
    VScode 格式化代码保存时使用ESlint修复代码
    如何在linux上部署vue项目
    Vue 2.x 3.x 配置项目开发环境跟线上环境
    在Vue文件中引入外部URL链接
    博客目录
  • 原文地址:https://www.cnblogs.com/fightmylife/p/11275505.html
Copyright © 2011-2022 走看看