1. 程式人生 > >排序算法之冒泡排序(Bubble Sort)

排序算法之冒泡排序(Bubble Sort)

順序 temp 遍歷 col 實現 using esp blog 交換

基本思想

  假如按照從小到大的順序排序,對待排序數組進行遍歷,如果當前值大於其後一個值則進行交換,不斷的進行遍歷,直到沒有交換動作的發生。冒泡排序的最好時間復雜度為O(n),最壞的時間復雜度為O(n2),所以冒泡排序的平均時間復雜度為O(n2),另外冒泡排序不會改變相同元素的前後順序,故其是一種穩定的排序算法。

實現代碼

#include<iostream>
using namespace std;

int main()
{
    int MyData[10] = { 7,3,12,46,32,64,13,24,21,5 };
    int Temp_Data = 0,Count = 1
;//記錄是否未發生交換,若一趟冒泡無交換發生則退出 while (Count) { Count = 1; for (int i = 0; i < 10 - 1; i++) { if (MyData[i] > MyData[i + 1]) { Count++; Temp_Data = MyData[i + 1]; MyData[i + 1] = MyData[i]; MyData[i]
= Temp_Data; } } if (Count == 1) { Count = 0; } } for (int i = 0; i < 10; i++) { cout << MyData[i] << " "; } cout << endl; system("pause"); return 0; }

排序算法之冒泡排序(Bubble Sort)