冒泡排序就是将相邻的两个数比较,将较小值或较大者放到前面。
**分析**
int [] number = {9,7,3,1,6};
**第一趟循环开始**
第1次比较结果
{7,9,3,1,6}
第2次比较结果
{7,3,9,1,6}
第3次比较结果
{7,3,1,9,6}
第4次比较结果
{7,3,1,6,9} //第一趟循环完成,最大值9比较出来了,排在最后
**第二趟循环开始**
第5次比较结果
{3,7,1,6,9}
第6次比较结果
{3,1,7,6,9}
第7次比较结果
{3,1,6,7,9}//第二天循环完成,第二大值7比较出来了
**第三趟循环开始**
第8次比较结果
{1,3,6,7,9}//排序完成了
//代码示例
public static void main(String[] args) {
int [] n = {9,7,3,1,6};
int temp = 0;//存储临时值
int number = 0;
for(int i=0;i<n.length-1;i++){//外层for比较循环的趟数 n.length-1 为每次
for(int j=0;j<n.length-i-1;j++){//内层for为每一趟比较次数,循环第一趟将
if(n[j]>n[j+1]){
temp = n[j+1];//将两者中较小的值复制给临时变量
n[j+1] = n[j];//然后将较大值赋值给第二个数
n[j] = temp;//将较小值赋值到第一个数
number++;//比较次数
}
}
}
System.out.println("number = "+number);
for(int i=0;i<n.length;i++){
System.out.println("冒泡排序后结果 :"+n[i]);
}
}
}