冒泡排序

冒泡排序

作为江湖人尽皆知的排序算法,其基本的算法思想必须清清楚楚。

思想

  1. 遍历数组,比较前后两个数大小,如果前大于后,将他们交换
  2. 全部遍历一遍后,此时已经选出一个最大值,继续进行下一次遍历,遍历次数减一(-j)
  3. 每遍历一次,选出一个最大值,所以需要遍历array.length次

交换

在这里插入图片描述

直接上代码

public class 冒泡排序 {
    //1.遍历数组,比较前后两个数大小,如果前大于后,将他们交换
    //2.全部遍历一遍后,此时已经选出一个最大值,继续进行下一次遍历,遍历次数减一(-j)
    //3.每遍历一次,选出一个最大值,所以需要遍历array.length次

    public static void main(String[] args) {
        int[] a = new int[]{1,2,33214,134,1234,123};
        System.out.println(Arrays.toString(a));

        int[] array = sort(a);

        System.out.println("------排序后-----");
        System.out.print(Arrays.toString(array));
    }


    //冒泡排序
    private static int[] sort(int[] arrays){
        int tmp = 0;
        for (int j = 0; j < arrays.length; j++) {
            for (int i = 0; i < arrays.length-1-j; i++) {
                if (arrays[i]>arrays[i+1]){
                    tmp = arrays[i];
                    arrays[i] = arrays[i+1];
                    arrays[i+1] = tmp;
                }
            }
        }
        return arrays;
    }
}
posted @ 2020-03-25 15:23  shimmernight  阅读(179)  评论(0编辑  收藏  举报