類:Nums 權限:public
方法:main 權限:public
參數:nums,i,j,num;
參數介紹:
nums,數據類型 int[] ,用來存儲 int 型的一系列數組;
i,數據類型 int ,作為 for 循環的循環變量,存儲排序比較的輪數;
j,數據類型 int ,作為 for 循環的循環變量,存儲該輪排序比較的次數;
num,數據類型 int ,作為兩值互換的第三方變量。
方法功能:
定義一個 int[] 數組;
設置一個循環變量 i ,記錄比較輪數;
設置一個循環變量 j ,記錄該輪比較中的比較次數;
用數組中未排序完成的第一個數字和后面的其他數字進行比較;
如果未排序完成的第一個數字比和他比較的數字小,就交換它們的位置,以保證未排序的第一個數始終是參與比較過的數字中最大的;
循環完成后,用迭代循環輸出排序結果。
public class NumsI{
public static void main (String [] arge){
//定義一個 int 的數具類型數組 nums,并賦予初始值;
int[] nums = new int[]{12,24,34,14,45,17,65,51,25};
//提示排序方式并用迭代輸出數組初始狀態;
System.out.println("冒泡排序演示");
System.out.print("初始數據 ");
for (int num :nums){
System.out.print(num + " ");
}
System.out.println();
//設置一個循環,用來記錄比較輪數;
for (int i = 0; i < nums.length-1; i++ ){
//設置一個循環,記錄該輪比較中的比較次數;
for(int j =0;j < nums.length-1-i; j++){
//用 nums[] 數組中前面的值與它后面的值比較,如果后面的值比它大就執行下面代碼塊;
if(nums[j]<nums[j+1]){
//對 nums[] 數組中的進行交換;
int num = nums[j];
nums[j] = nums[j+1];
nums[j+1] = num;
//輸出兩個交換位置的值;
System.out.print(nums[j+1] + "和" + nums[j] + "換位置"+" ");
}else{//如果沒有交換則打印空格,用來保持輸出格式工整;
System.out.print(" ");
}
//用迭代循環輸出本次排序完成后的結果;
for (int num :nums){
System.out.print(num + " ");
}
//提示進行了一次比較;
System.out.println("進行了一次比較" );
}
//提示進行了一輪比較;
System.out.println("本輪比較結束");
}
//提示比較完備并用迭代輸出結果;
System.out.println("完畢");
for (int num :nums){
System.out.print(num +" ");
}
}
}