测试用冒泡创建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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报