演算法1——氣泡排序
阿新 • • 發佈:2018-11-25
氣泡排序的基本思想:每次比較相鄰的兩個元素,如果不符合排序順序,就交換位置。
氣泡排序的演算法核心是冒泡,假如有10個數,要進行9次運算,每次一次運算都挑選出最大(最小)的數,放到陣列的最後(最前);每次都從第一個數開始,已經排序好放到最後的數不再參與。
第一次冒泡時,從第一個數開始,需要比全部的數;最大的數放到了最後;
第二次冒泡時,從第一個數開始,只需要比N-1個數,因為最後一個數是最大的,不需要參加比對;
......
第N-1次冒泡後,後面N-1個數,都是按照大小順序排列的,第一個數自然是最小的,因此排序完成;
程式碼示意:
public static void Maopao() {
int a[] = { 6, 3, 8, 2, 9, 1 };// 待排序的值
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
}