八大排序之氣泡排序

2021-08-26 05:50:27 字數 814 閱讀 6200

//氣泡排序,穩定,平均與最壞時間複雜度為o(n^2),最好為o(n),空間複雜度為o(1)

#include

using

namespace

std;

void bubblesort(int* numbers, const

int length);

int main()

; int length = 0;

cin >> length;

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

cin >> numsarr[i];

bubblesort(numsarr, length);

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

cout

<< numsarr[i] << " ";

cout

<< endl;

system("pause");

return0;}

//比較大的數排到後面去

void bubblesort(int* numbers, const

int length)//氣泡排序,需要引數為一維排序陣列,和陣列的要排序的數量

bool i***changed = false;

for (int i = 0; i < length - 1; ++i)//i到length-2即可,最後乙個不需要排序了

}if (!i***changed) return;//如果掃瞄一趟後沒有交換,則已經是排好序的,後面的就不需要遍歷了,直接返回

}}

八大排序之氣泡排序

1 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。3 針對所有的元素重複以上的步驟,除了最後乙個。4 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。1.不管原始陣列是否...

八大排序之氣泡排序

思路 冒泡,即為在每次排序時,將此時陣列內最大的數移到此時的最後一位。第一步 確定有幾個數需要放到各自情況的最後一位,答案是陣列長度 1個數。第二步 確定第i次將此時的最大數排到此時的最後一位時,需要進行比較多少次,答案是陣列長度 1 i次。因為此時已經確定了i 1個數的位置 所以用兩層迴圈即可實現...

八大排序之氣泡排序

八種排序之氣泡排序 氣泡排序的原理是 從左到右,相鄰元素進行比較。每次比較一輪,就會找到序列中最大的乙個或最小的乙個。這個數就會從序列的最右邊冒出來。1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是...