C 氣泡排序和插入排序

2022-04-12 12:42:21 字數 1057 閱讀 1799

1-插入排序

1 #include "

stdio.h"2

3#define n 645

void swap(int *a,int *b);

6void insertsort(int a,int

n);789

intmain()

1021

22void insertsort(int a,int

n)23

35 a[j+1]=x;36}

3738 }

2-冒泡

1 #include "

stdio.h"2

3#define n 645

void swap(int *a,int *b);67

//常規的冒泡

8void bubblesort(int a,int

n);9

//若某輪無swap發生,則已經有序

10void bubblesort_1(int a,int

n);11

//若某部分已經有序,則下一輪無需考慮

12void bubblesort_2(int a,int

n);13

14int

main()

1526

27//

常規的冒泡

28void bubblesort(int a,int

n)2938}

39}4041

void swap(int *a,int *b)

4248

49//

若某輪無swap發生,則已經有序

50void bubblesort_1(int a,int

n)51

6465}66

}67}68

69//

若某部分已經有序,則下一輪無需考慮

70void bubblesort_2(int a,int

n)71

8485

}86 last_swap_index=temp;87}

88 }

氣泡排序,插入排序

前提 void x sort elementtype a,int n 大多數情況下,為簡單起見,討論從小大的整數排序 n是正整數 只討論基於比較的排序 有定義 只討論內部排序 穩定性 任意兩個相等的資料,排序前後的相對位置不發生改變 沒有一種排序是任何情況下 都表現最好的 氣泡排序 void bub...

氣泡排序 插入排序

學習思路 思路講解 實現 1 通過雙重迴圈,相鄰兩個資料做對比,通過位置交換使其變得有序 2 時間複雜度 分析 解釋 外部迴圈從0開始i 內部迴圈從0開始j,完整迴圈後會將本次最大值放入陣列最後,下次迴圈可忽略相應的尾部資料 length i 1 重複1 2步即可完成排序 實現 public cla...

氣泡排序 選擇排序和插入排序

氣泡排序 思路 將相鄰的兩個數比較,將較小的數調到前頭 有n個數就要進行n 1趟比較,第一次比較中要進行n 1次兩兩比較,在第j趟比較中,要進行n j次兩兩比較。依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放...