java算法 -- 冒泡排序
- 比較先後相鄰的二個數據,若是前面數據大於後面的數據,就將這二個數據交換。
- 這樣對數組的第 0 個數據到 N-1 個數據進行一次遍歷後,最大的一個數據就「沉」到數組第N-1個位置。
- N=N-1,若是 N 不爲 0 就重複前面二步,不然排序完成。
public class BubbleSortTest {
public static void main(String[] args) {
int[] array = {1, 2, 5, 41, 7, 11, 13, 17, 59, 19, 23, 29, 31, 37, 43, 47, 53};
int[] bubbleSortArrays = bubbleSort(array);
for (int s : bubbleSortArrays) {
System.out.print(s + " ");
}
}
/**
* 冒泡排序
* @param array
* @return
*/
private static int[] bubbleSort(int[] array) {
int i, j;
int n = array.length;
for (i = 0; i < n; i++) {//表示 n 次排序過程。
for (j = 1; j < n - i; j++) {
if (array[j - 1] > array[j]) {//前面的數字大於後面的數字就交換
//交換 array[j-1]和 array[j]
int temp;
temp = array[j - 1];
array[j - 1] = array[j];
array[j] = temp;
}
}
}
return array;
}
}