C 五種排序方法(有參考)

2021-10-24 13:13:22 字數 3041 閱讀 6346

資料結構選擇:陣列

概要設計:定義乙個容量為一億個整數的陣列,定義變數n,用rand函式生成n個隨機數,並賦值給陣列,用clock函式計算排序所用時間。編寫排序函式和主函式。

#include

#include

#include

using

namespace std;

int a[

100000000

],n;

void

partition

(int a,

int s,

int t,

int& cutpoint)

while

(ii++;if

(i} a[i]

=x; cutpoint=i;

}void

quicksort

(int a,

int s,

int t)

}int

main()

return0;

}

#include

#include

#include

#include

using

namespace std;

void

max_heapify

(vector<

int>

&nums,

int beg,

int end)

else

break;}

}void

heap_sort

(vector<

int>

&nums)

for(

int i = n -

1; i >

0; i--)}

int a[

100000000

],n;

intmain()

int begintime=

clock()

; vector<

int>

vec(a,a+n)

;heap_sort

(vec)

;int endtime =

clock()

; cout<

"ms"

<

for(

int d=

0;d)return0;

}

#include

#include

#include

#include

using

namespace std;

int a[

100000000

],n;

void

shell_sort

(vector<

int>

&nums)

}int

main()

int begintime=

clock()

; vector<

int>

vec(a,a+n)

;shell_sort

(vec)

;int endtime =

clock()

; cout<

"ms"

<

for(

int d=

0;d)return0;

}

#include

#include

#include

using

namespace std;

int a[

100000000

],n;

intmain()

int begintime=

clock()

;for

(int i=

0;i2;i++)}

}int endtime =

clock()

; cout<

"ms"

<

for(

int j=

0;j)return0;

}

#include

#include

#include

using

namespace std;

int a[

100000000

],n;

intmain()

int begintime=

clock()

;for

(int i=

0;i}int endtime =

clock()

; cout<

"ms"

<

for(

int c=

0;c)return0;

}

測試資料

最多可實現一億個數的排序。由於資料為一億時冒泡和選擇排序等待時間過長,沒有一億資料的測試結果。

測試效率快速排序》堆排序》希爾排序》氣泡排序》選擇排序。

快速排序執行時間

堆排序執行時間

希爾排序執行時間

氣泡排序執行時間

選擇排序執行結果

五種排序方法總結

此次介紹的是五種排序的方法 1.氣泡排序 2.選擇排序 3.快速排序 4.插入排序 5。二分查詢 1 冒泡法,即利用相鄰的兩個數之間來比較達到交換的目的 從而把最大或最小的數 移到某一邊。故而 此種方法要 進行多個趟次與比較多次。例如 n個數字,則要進行n 1趟比較。在第m趟中要進行n m次兩兩之間...

五種排序的方法

四種方法如下 氣泡排序 選擇排序 插入排序 快速排序 內建函式排序 for i in range 7,1,1 左閉右開區間,每次減一 print i 各種排序方法進行比較 defshowdata data for i in range len data print 2f data i end 選擇排...

五種簡易排序(C語言)

include include include include 判斷次序 bool is sorted int buffer,int buffersize return true 判斷次序 氣泡排序 void bubble sort int buffer,int buffersize 氣泡排序 選擇...