当前位置: 主页 > JAVA语言

冒泡算法 java实例-冒泡算法的时间复杂度

发布时间:2023-03-16 11:02   浏览次数:次   作者:佚名

public class Maopao{

//做一个冒泡排序算法

//冒泡排序算法的关键点:1、数组进行N-1轮遍历 2、每一轮遍历下递归N-i次比较,i为第几轮遍历

public static void main(String[] args){

int[] aa = {7,6,9,3,4,6,5,1,8,2,3,4,1,0,10};

//调用冒泡算法

maoPaoSort(aa);

}

public static void maoPaoSort(int[] aa){

冒泡算法时间复杂度_冒泡算法 java实例_冒泡算法的时间复杂度

//先看冒泡前数组值长的啥样

System.out.println("下面是原来的样子:");

for(int a=0;a

System.out.println(aa[a]);

}

//定义一个本全局变量 一起看冒泡算法一共算了多少次

int total = 0;

冒泡算法 java实例_冒泡算法时间复杂度_冒泡算法的时间复杂度

//冒泡算法步骤1冒泡算法 java实例,总循环N-1轮

for(int i=1;i

//冒泡算法步骤2冒泡算法 java实例,每一轮会从最下向上接力比较N-i次

for(int j=0;j //定义中间变量

int temp;

//如果数组下边值比上边大,就做置换

if(aa[j]>aa[j+1]){

冒泡算法时间复杂度_冒泡算法 java实例_冒泡算法的时间复杂度

//先把靠上边座位小的值放在中间变量

temp = aa[j+1];

//再将下边的值赋值给上边座位

aa[j+1] = aa[j];

//再将原上边较小值(中间变量)赋值给下边座位

aa[j] = temp;

//累计比较次数加1

冒泡算法时间复杂度_冒泡算法 java实例_冒泡算法的时间复杂度

total++;

}else{

//虽然不做置换,但是也做了一次计算

total++;

}

}

}

冒泡算法的时间复杂度_冒泡算法时间复杂度_冒泡算法 java实例

System.out.println("\n"+"\n");

//一共算了多少次

System.out.println("数组一共有"+aa.length+"个数据,一共计算了:"+total+"次。");

System.out.println("\n"+"\n");

System.out.println("冒泡后长成这个样子:");

for(int b=0;b

System.out.println(aa[b]);

}

}

}