从零单刷数据结构(Java描述)(十二)——排序(交换排序)之冒泡排序

冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。时间复杂度O(n^2),稳定的排序算法。

import java.util.Arrays;

class BubbleSort{
    public static void main(String[] args) {
        int[]arr=new int[]{5,3,1,2,4};
        bubbleSort(arr);
        System.out.println(Arrays.toString(arr));
    }
    
    //冒泡排序
    public static void bubbleSort(int[]arr){
        //控制比较轮数
        for(int i=0;i<arr.length-1;i++){
        //最大值排在最后,比较时无需再重排
            for(int j=0;j<arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        int temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
            }
        }
    }
}
//测试类
class BubbleSort{
    public static void main(String[] args) {
        int[]arr=new int[]{5,3,1,2,4};
        bubbleSort(arr);
        //输出1 2 3 4 5
        System.out.println(Arrays.toString(arr));
 }

猜你喜欢

转载自blog.csdn.net/waS_TransvolnoS/article/details/91128889