冒泡排序

冒泡排序

时间复杂度为O(n2);

import java.util.Arrays;

public class TestBubbleSort {
    public static void main(String[] args) {
        int[] values = {3,1,6,8,9,0,7,4,5,2};
        System.out.println("原始顺序:"+ Arrays.toString(values));
        System.out.println("冒泡排序:");
        bubbleSort(values);
        int[] values2 = {3,1,6,8,9,0,7,4,5,2};
        System.out.println("优化冒泡排序:");
        bubbleSort2(values2);
    }

    //冒泡排序
    public static void bubbleSort(int[] values) {
        int temp;
        for (int i=0;i<values.length;i++){
            for (int j=0;j<values.length-1-i;j++){
                if (values[j]>values[j+1]){
                    temp = values[j];
                    values[j] = values[j+1];
                    values[j+1] = temp;
                }
            }
            System.out.println("第"+(i+1)+"趟排序:"+Arrays.toString(values));
        }
    }

    //优化冒泡排序
    public static void bubbleSort2(int[] values) {
        int temp;
        for (int i=0;i<values.length;i++){
            boolean flag = true;
            for (int j=0;j<values.length-1-i;j++){
                if (values[j]>values[j+1]){
                    temp = values[j];
                    values[j] = values[j+1];
                    values[j+1] = temp;
                    flag = false;
                }
            }
            if (flag){
                continue;
            }
            System.out.println("第"+(i+1)+"趟排序:"+Arrays.toString(values));
        }
    }
}

  

posted @ 2022-06-23 22:22  理暗  阅读(25)  评论(0)    收藏  举报