参考于 :https://www.cnblogs.com/morethink/p/8419151.html

在学校参加蓝桥杯的时候 研究过,时间久了,有些遗忘,特自己做笔记,回顾一下

1、冒泡排序

思想:重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

    @Test
    public void test1() {
        int num[] = {1, 3, 1, 4, 5, 2, 1};
        for (int i = 0; i < num.length -1; i++) {
            for (int j = 0; j < num.length -i - 1; j++) {
                if(num[j] < num[j+1]){
                    int poschage = num[j];
                    num[j] = num[j+1];
                    num[j+1] = poschage;
                }
            }
        }

        System.out.println(Arrays.toString(num));
    }

2、插入排序 (不推荐,交互频率太高)

    @Test
    public void test2() {
        int num[] = {1, 3, 1, 4, 5, 2, 1};
        for (int i = 0; i < (num.length - 1); i++) {
            for (int j = i+1; j > 0 ; j--) {
                if(num[j] > num[j-1]){
                    int poschage = num[j];
                    num[j] = num[j-1];
                    num[j-1] = poschage;
                }
            }
        }

        System.out.println(Arrays.toString(num));
    }

3、快速排序