c 實現氣泡排序

2021-07-12 05:57:35 字數 907 閱讀 3704

氣泡排序

:依次比較相鄰的資料,將小資料放在前,

大資料放在後;即第一趟先比較第1個和第2個數,大數在後,小數在前,再比較第2個數與第3個數,大數在後,小數在前,以此類推則將最大的數"滾動"到最後乙個位置;第二趟則將次大的數滾動到倒數第二個位置......第n-1(n為無序資料的個數)趟即能完成排序。

對氣泡排序演算法進行簡單的優化,用乙個

標記來記錄在一趟的比較過程中是否存在交換

,如果不存在交換則整個陣列已經有序退出排序過程,反之則繼續進行下一趟的比較。

平均時間複雜度:o(n2),效率不高,適合小資料排序

空間複雜度:o(1)  (用於交換)

穩定性:穩定

//氣泡排序,兩種方法氣泡排序的最小時間代價θ(n),最大時間代價,和平均時間代價均為θ(n²)。,2016.5.29

#include using namespace std;

void swap(int array, int i, int j)

void bubblesort1(int array, int n) }}

void bubblesort2(int array, int n) }}

void main()

//cout << "排序前的無序陣列元素" << arr[i] << endl;

bubblesort1(arr, 13);

cout << "排序後的陣列元素" << endl;

for (int i = 0; i < 13; i++)

bubblesort2(arr, 13);

cout << "排序後的陣列元素" << endl;

for (int i = 0; i < 13; i++)

system("pause");

}

C 實現氣泡排序

include using namespace std define array size 8 the array size int main cout show the array void myshow int a,int length for unsigned int i 0 i執行結果 演算...

氣泡排序 c 實現

冒泡的演算法介紹 以公升序排列為例來說,大的數字不斷向後排,就像煮沸的水中的氣泡一直往上公升一樣。冒泡演算法它是通過不斷比較相鄰兩數的大小來將最大的數字排列到最後的。例如 4 2 3 1 4和1相比,4大就和2交換位置 變成2 4 3 1 j 4和3比較,4大就和3交換位置 變成 2 3 4 1 j...

氣泡排序(C 實現)

氣泡排序過程 首先將第乙個關鍵字和第二個關鍵字進行比較,若為逆序則將兩個記錄交換,然後比較第二個記錄和第三個記錄,依次類推,知道第n 1個記錄和第n個記錄的關鍵字進行比較為止。此過程稱為第一趟起泡排序,其結果為使得關鍵字最大的記錄被安置到最後乙個記錄的位置,然後進行第二趟排序。例如 輸入 49 38...