基礎排序演算法之氣泡排序

2021-09-29 15:37:23 字數 695 閱讀 6508

1.主體: 兩個迴圈;

2.時間複雜度: o(n^2);

3.過程: 對於公升序,比較相鄰兩個數,如果第二個數小,則交換位置;

從數列後往前比較,最終第乙個數是最小的;

重複上述步驟;

demo:

#include#includeusing namespace std;

//氣泡排序

void my_swap(int& first, int& second)

void bubblesort(vector& vec) }}

int main()

; cout << "raw val is:\n";

for (auto i : arr)

cout << i << "\t";

cout << endl;

bubblesort(arr);

cout << "bubblesorted val is:\n";

for (auto i : arr)

cout << i << "\t";

cout << endl;

system("pause");

return 0;

}

輸出如下:

演算法基礎之氣泡排序

是讓最大的數浮動到陣列最後的位置,其次大的數浮動到陣列倒數第二個位置。當然,你也可以從大到小排序,也可以從後向前冒泡。其特徵操作是相鄰元素的比較和交換。bubble sort a for i a.length to 1 for j 1 to i ifa j a j 1 exchance a j an...

基礎演算法之氣泡排序

1.今天面試被問到最簡單的氣泡排序,氣泡排序看似簡單其實也不簡單,在此重新複習一下氣泡排序 氣泡排序的時間複雜度是n平方,如果陣列已經有序,可以進行優化,sort3方法在陣列有序的時候,只需要遍歷一次陣列,時間複雜度是n,空間複雜度只需要乙個int變數在交換的時候使用 public void sor...

演算法基礎之排序篇 氣泡排序

1 演算法描述依次比較相鄰的數劇,將小的數排前面,大的排後面。操作步驟 1 從第乙個元素開始,依次與後乙個數比較,小數放前,大數放後,結果是最大的放到了最後。2 對前n i個數重複 1 i從1至n 2,n為原序列大小。2 圖例 3 public void sort int data 4 穩定性及複雜...