選擇排序和氣泡排序

2021-06-26 09:14:46 字數 1392 閱讀 1515

選擇 (從小到大排序)

int a[5] = ;

a[0] a[1] a[2] a[3] a[4]

5 4 3 2 1

1 5 4 3 2 第一輪比較(拿a[0]和後面的元素依次比較 如果a[0]>a[i]那麼兩個數交換)

1 2 5 4 3 (第二輪比較,拿a[1]和後面的元素依次比較,如果a[1]>a[i]那麼兩個數交換)

1 2 3 5 4 第三輪 拿a[2]

1 2 3 4 5 第四輪 拿a[3]和後面的比較

*///用乙個外迴圈控制比較的輪次

int main(int argc, const char * argv)

;//要求從小到大排序

//選擇排序從小到大排序模板

for (int i = 0; i < 5-1; i++) }}

return 0;

}

冒泡 (從小到大排序)

始終從第乙個元素開始依次拿相鄰的兩個數進行比較,把大的放後面(如果前面的元素大 那麼就和後面的進行交換)

冒泡 (從小到大排序)

int a[5] = ;

a[0] a[1] a[2] a[3] a[4]

5 4 3 2 1

4 3 2 1 5 第一輪比較(從a[0]開始依次拿相鄰兩個數比較 如果前面的大於後面的(a[j] > a[j+1])那麼兩個數交換)

3 2 1 4 5 (第二輪比較,從a[0]開始依次拿相鄰兩個數比較 如果前面的大於後面的(a[j]>a[j+1])那麼兩個數交換)

2 1 3 4 5 第三輪(從a[0]開始依次拿相鄰兩個數比較 如果前面的大於後面的(a[j]>a[j+1])那麼兩個數交換)

1 2 3 4 5 第四輪

*///i = 0 4

//i = 1 3

//i = 2 2

//i = 3 1

//i+ 內迴圈的次數 = 5-1

//氣泡排序的模板 從小到大 公升序的模板

int main(int argc, const char * argv)

; for (int i = 0; i < 5-1; i++) {

for (int j = 0; j < 5-1-i; j++) {

if (a[j] > a[j+1]) {//a[j]

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...

選擇排序和氣泡排序

今天開始寫部落格,加油。1氣泡排序 我沒有選擇使用函式,而是分成了乙個個程式去寫,一是因為函式我自己本來也不熟練,二是感覺分開來寫更加的清晰 1,氣泡排序1 2017年7月11日17 28 13 目的 氣泡排序1 以增序為列 思路 這種氣泡排序核心思想等同於選擇排序,但並不會提取最值,比較次數等同於...