http://www.verejava.com/?id=16992682424030 /**
用冒泡算法:将成績arrays 從小到大排序輸出
思路:
第一趟排序
1. 将數組中n個元素從第一個元素開始 一一跟後面的元素比較
2. 如果前面的資料比後面的資料大, 兩個交換位置直到一次循環完成,那麼數組中最大的資料将會排在數組的最後一個位置。
第 i 趟排序
3. 依次類推, 将剩下未排序的n-i個元素再類似 1,2過程一遍,這樣直到循環 n次結束後,數組中的元素就是從小到大排好序了.
注意: 隻需要經過 n-1趟排序
*/
public class BubbleSort {
public static void sort(int[] arrays) {
//第一個循環控制n-1趟排序
for (int i = 0; i < arrays.length - 1; i++) {
//第二個循環控制每次要比較的元素個數n-1
for (int j = 0; j < arrays.length - i - 1; j++) {
if (arrays[j] > arrays[j + 1]) {
int flag = arrays[j];
arrays[j] = arrays[j + 1];
arrays[j + 1] = flag;
}
}
}
}
public static void main(String[] args) {
//一維數組的定義和初始化
int[] scores = { 90, 70, 50, 80, 60, 85 };
sort(scores);
//輸出排序後的 scores
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i] + ",");
}
}
}