1. 程式人生 > >演算法1——氣泡排序

演算法1——氣泡排序

氣泡排序的基本思想:每次比較相鄰的兩個元素,如果不符合排序順序,就交換位置。

氣泡排序的演算法核心是冒泡,假如有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;
			}
		}
	}
}