冒泡算法 java实例-冒泡算法的时间复杂度
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){
//先看冒泡前数组值长的啥样
System.out.println("下面是原来的样子:");
for(int a=0;a
System.out.println(aa[a]);
}
//定义一个本全局变量 一起看冒泡算法一共算了多少次
int total = 0;
//冒泡算法步骤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]){
//先把靠上边座位小的值放在中间变量
temp = aa[j+1];
//再将下边的值赋值给上边座位
aa[j+1] = aa[j];
//再将原上边较小值(中间变量)赋值给下边座位
aa[j] = temp;
//累计比较次数加1
total++;
}else{
//虽然不做置换,但是也做了一次计算
total++;
}
}
}
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]);
}
}
}