需求:對數組[8,99,5,3,6,7,22]進行冒泡升序排序。
思路:相鄰兩元素比較,如果符合條件就換位。每次結束後確定最大值放在最後位置,在後幾次排序不用管該位置。
/*
需求:對數組[8,99,5,3,6,7,22]進行冒泡排序。
思路:相鄰兩元素比較,如果符合條件就換位。每次結束後確定最大值放在最後位置,在後幾次排序不用管該位置。
步驟:
1、定義冒泡排序子函數:
(1)用兩個for循環選擇數組元素;
(2)用if語句判斷,交換元素。
2、定義打印子函數
3、主函數內定義數組並初始化,調用子函數
*/
public class BubbleSort {
static void PaiXu2(int [] arry)
{
for(int i=0;i<arry.length-1;i++)//確定比較次數
{
for(int j=0;j<arry.length-i-1;j++)//讓每次比較元素減少
{
if (arry[j]>arry[j+1])
{
int temp =arry[j];
arry[j]=arry[j+1];
arry[j+1]=temp;
}
}
}
}
//定義打印函數
static void printarry(int [] arry)
{
System.out.print("[");
for(int i=0;i<arry.length;i++)
{
if (i!=arry.length-1)
System.out.print(arry[i]+",");
else
System.out.print(arry[i]+"]");
}
}
public static void main(String[] args)
{
//調用子函數
int [] arry= {8,123,6,7,122};
System.out.print("排序前的數組:");
printarry(arry);
PaiXu2(arry);
System.out.println();
System.out.print("排序後的數組:");
printarry(arry);
}
}
運行結果:
排序前的數組:[8,123,6,7,122]
排序後的數組:[6,7,8,122,123]