前言
冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從從Z到A)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
記住口訣
外層循環 n-1
內層循環 n-1-i
兩兩比較做交換
升序排序: 判斷:list[j]>list[j+1];
降序排序: 判斷:list[j]<list[j+1];
public class BubbleSort{
public static void main(String[] args){
//創建數組
int[] list = new int[]{12,45,23,54,34,65,76,24,87,46};
//輸出當前數組
System.out.print("原數組:");
for(int i:list){
System.out.print(i+" ");
}
//進行冒泡排序升序排序
for(int i=0;i<list.length-1;i++){ //外層循環n-1,控制比較輪數
for(int j=0;j<list.length-i-1;j++){ //內層循環n-1-i,控制每次比較的次數
//判斷
if(list[j]>list[j+1]){ //兩兩比較做交換,判斷大小交換位置
//交換
int swop=list[j];
list[j]=list[j+1];
list[j+1]=swop;
}
}
}
//輸出數組
System.out.print("升序排序後:");
for(int i:list){
System.out.print(i+" ");
}
}
}