1.简单排序

1.冒泡
原理简单,一个个比较过去 缺点交换次数过多

 public static void main(String[] args) {
        Integer[] a = new Integer[]{3, 6, 2, 9, 4};

        sort(a);
        System.out.println(Arrays.toString(a));
    }

    public static void sort(Integer[] arr) {

        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    Integer arr1 = arr[i];
                    arr[i] = arr[j];
                    arr[j] = arr1;
                }
            }
        }
    }

2.选择排序
原理十分简单,先选择出最小(大)的放第一位,依次选择出来
这样只需[].length-1次交换

  public static void main(String[] args) {
        Integer[] a = new Integer[]{3, 2, 6, 100, 2, 9, 4};

        selectTest(a);
        System.out.println(Arrays.toString(a));
    }

    public static void selectTest(Integer[] arr) {
        int k = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            k = i;
            for (int j = i; j < arr.length; j++) {
                if (arr[k] > arr[j]) {
                    k = j;
                }
            }

            Integer arr1 = arr[i];
            arr[i] = arr[k];
            arr[k] = arr1;
        }
    }

3.插入排序
原理:抓扑克牌,每抓一张牌插到指定位子

 public static void main(String[] args) {
       Integer[] a = new Integer[]{3, 2, 6, 100, 2, 9, 4};

       insertTest(a);
       System.out.println(Arrays.toString(a));
   }

   public static void insertTest(Integer[] arr) {

       for (int i = 1; i < arr.length; i++) {
           Integer tmp = arr[i];
           int j = i;

           while (j > 0 && arr[j-1] >= tmp) {
               arr[j] = arr[j - 1];
               j--;
           }
           arr[j] = tmp;
       }
   }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 引言 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列,它在大大小小的程...
    阿堃堃堃堃阅读 687评论 0 1
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,826评论 0 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,301评论 0 52
  • 某次二面时,面试官问起Js排序问题,吾绞尽脑汁回答了几种,深感算法有很大的问题,所以总计一下! 排序算法说明 (1...
    流浪的先知阅读 1,252评论 0 4
  • 对于大多数女人而言,如何平衡家庭和工作之间的关系,是个重要而艰难的决定过程。每个人的情况不同,当然也有人只想要两者...
    丽荣冰荷阅读 353评论 0 0

友情链接更多精彩内容