冒泡排序

package com.dai.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class BubbleSort {
    public static void main(String[] args) {
        /*int[] arr = {3, 9, -1, 10, -2,30};
        
        //第一趟排序,将最大的数排在最后面
        int temp = 0;
        boolean flag = false;
        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]) {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                    flag = true;
                }
            }
            System.out.println("第"+(i+1) +"次排序后的数组:");
            System.out.println(Arrays.toString(arr));
            if(!flag) {
                break;
            }
            flag = false;
        }
        //测试冒泡排序方法
        System.out.println("排序前:");
        System.out.println(Arrays.toString(arr));*/
        //测试冒泡排序的速度,8w个数据
        int[] arr = new int[80000]; 
        for(int i=0; i<80000; i++) {
            arr[i] = (int)(Math.random()*8000000);
        }
        Date date1 = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date1String = simpleDateFormat.format(date1);
        System.out.println("排序前的时间为:" + date1String);
        bubbleSort(arr);
        Date date2 = new Date();
        String date2String = simpleDateFormat.format(date2);
        System.out.println("排序后的时间为:" + date2String);
        //System.out.println("排序后:");
        //System.out.println(Arrays.toString(arr));
    }

    //将前面的冒泡排序封装成方法
    public static void bubbleSort(int[] arr) {
        int temp = 0;
        boolean flag = false;
        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]) {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                    flag = true;
                }
            }
            if(!flag) {
                break;
            }
            flag = false;
        }
    }
}
//冒泡排序,时间复杂度O(n^2)
原文地址:https://www.cnblogs.com/shengtudai/p/14386677.html