C C 各種排序演算法

2021-10-25 06:43:23 字數 2009 閱讀 1366

低階排序演算法:氣泡排序

選擇排序

插入排序(在低階排序演算法最快)

高階排序演算法:快速排序

歸併排序

堆排序……

**演示:

}**演示:

#include

using

namespace std;

void

insertsort

(int

*a,int n)

a[out]

=temp;}}

intmain()

; len=

sizeof

(a)/

sizeof

(a[0])

;insertsort

(a,sizeof

(a)/

sizeof

(a[0])

);for(i=

0; i

) cout<

return0;

}

插入排序效率提高

#include

using

namespace std;

template

<

class

t>

void

insertsort

(t *a,

int n)

a[i+1]

=temp;}}

intmain()

; len=

sizeof

(a)/

sizeof

(a[0])

;insertsort

(a,sizeof

(a)/

sizeof

(a[0])

);for(i=

1; i

) cout<

return0;

}

使用c++模板,使用以插入排序演算法為例:

#include

using

namespace std;

template

<

class

t>

void

insertsort

(t *a,

int n)

a[out]

=temp;}}

intmain()

; len=

sizeof

(a)/

sizeof

(a[0])

;insertsort

(a,sizeof

(a)/

sizeof

(a[0])

);for(i=

0; i

) cout<

return0;

}

c c 各種排序

一 各種排序方法的時間 空間複雜度情況 1 直接插入排序 比較次數 最少n 1次 最多 n 1 n 2 2 移動次數 最少0 最多 n 1 n 4 2 使用乙個輔助儲存空間,是穩定的排序 2 折半插入排序 比較次數 最少與最多同,都是n log2n 其中2為底,下邊表示同 移動次數 最少0,最多時間...

C C 實現的各種排序

直插排序 void insertsort vector int arr else break 氣泡排序 void bubblesort1 vector int arr if flag return void bubblesort2 vector int arr if flag return 快速排序...

排序 各種排序演算法

每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子表中適當位置,直到全部記錄插入完成為止 待排序的記錄放在陣列r 0,n 1 中 排序過程中將r分成兩個子區間,有序區r 0,i 1 無序區r i,n 1 將當前無序區的第1個記錄,插入到有序區中適當的位置上 每次是有序區增加乙個記錄,知道...