資料結構選擇:陣列
概要設計:定義乙個容量為一億個整數的陣列,定義變數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 氣泡排序 選擇...