冒泡排序就是將相鄰的兩個數比較,將較小值或較大者放到前面。
**分析**
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]);
}
}
}