冒泡排序的運行原理(好理解):數組
備註:上述講解來自 維基百科 冒泡排序spa
我的理解:blog
第一輪:第一個元素 與後邊第二元素比較,若是第二個元素大,就交換數值,這樣第一個元素仍是最大值,而後與第三個元素比較,若是第三個元素大,仍是交換數值,這樣第一個元素仍是最大值,一樣,依次與後邊的全部元素比較,這樣第一輪比較以後就能保證第一個元素爲最大值,排序
第二輪:第二個元素與後邊第三個元素比較,若是第三個元素大,就交換數值,第二個元素與第四個元素比較,若是第四個元素大,仍是交換數值,一樣,第二個元素與後邊元素依次比較,這樣,第二輪結束,第二個元素就是第二大數值。it
一樣 第三輪,第四輪.... 直到最後一個元素。這樣就是 冒泡排序 (以上是按從大到小排序)class
代碼以下(從大到小排序):原理
int[] sort = new int[13] { 1, 4, 89, 34, 56, 40, 59, 60, 39, 1, 40, 90, 48 }; // 輸入一個數組 for (int i = 0; i < sort.Length; i++) // 循環每一個元素。 { for (int j = i+1; j < sort.Length; j++) // 每一個元素都與它以後的元素進行一對一比較。 { if (sort[i] < sort[j]) // 當有值比sort[i]大時,就交換數值。 { int temp = sort[i]; sort[i] = sort[j]; sort[j] = temp; // sort[i] 獲取的是始終爲最大值。 } } } for (int i = 0; i < sort.Length; i++) // 輸出 { Console.Write(sort[i] + " "); }