测试用冒泡创建80000个随机的数组的时间复杂度

public class BubbleSort {
public static void main(String[] args) {
//测试冒泡的时间复杂度O(n^2)
// int arr[]={3,9,-1,10,20};
// System.out.println("排序前");
// System.out.println(Arrays.toString(arr));
//为了容纳理解,我们把冒泡排序的演变过程,给大家展示
//创建80000个随机数组
int[] arr = new int[80000];
for (int i = 0; i < 80000; i++) {
arr[i]=(int)(Math.random()*8000000);
}
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM--dd HH:mm:ss");
String format = simpleDateFormat.format(date);
System.out.println("排序前的时间是:"+format);
bubbleSorrt(arr);//调用冒泡排序
Date date1 = new Date();
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM--dd HH:mm:ss");
String format1 = simpleDateFormat.format(date1);
System.out.println("排序前的时间是:"+format1);;
}
//封装冒泡排序,方便调用
public static void bubbleSorrt(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]){
flag=true;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
if (!flag){//一趟中一次都没有
break;
}else {
flag=false;//重置进行下一次判断
}
}
}
}

排序前的时间是:2022-02--06 21:40:03
排序前的时间是:2022-02--06 21:40:11

posted @   开源遗迹  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示