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)