(devc++下的c語言)
#include
#include
#include
#include
using namespace std;
clock_t t1,t2;
double t;
int r[100];
int partition(int r,int first,int end){
int i=first,j=end;
while(i>n;
srand(55);//設定種子數
for(i=1;i/*cout<<"陣列的隨機輸入是:";
cout<#include
#include
#include
#include
using namespace std;
clock_t t1,t2;
double t;
const int maxn=10001;
int main(){
int n,k,j,i;
float temp,a[maxn];
cout<<"請輸入陣列元素的個數:";
cin>>n;
srand(55);//設定種子數
for(i=1;i/*cout<<"陣列的隨機輸入是:";
cout《資料量\方法
快速排序
選擇排序
789 個數
0.266 s
0.1 s
7766 個數
1.01 s
1.192 s
77766 個數
11.039 s
18.026 s
由上表可知當資料量在幾百的時候快速排序比選擇排序慢;當資料量在幾千的時候快速排序和選擇排序用時差不太多;當資料量上公升到幾萬的時候快速排序明顯比選擇排序快了很多。由此可見當資料量少的時候選擇排序快,當資料量很大的時候快速排序用時很短。分析程式,因為快速排序用的是遞迴呼叫、選擇排序用的是迴圈所以資料量小的時候選擇排序快。又由於快速排序的時間複雜度為nlog n、選擇排序的時間複雜度為n2,所以當資料量很大的時候時間複雜度起主導作用,即時間複雜度越小的排序時間用的越少。
選擇排序和快速排序
include intmain int len strlen str 獲取字串長度 char min z 給乙個初始值,只需要它的ascal碼值小於等於z即可 int i int tempp for int j 0 j j str tempp str j str j min min z 內層迴圈每執...
快速排序,選擇排序
選擇排序 123 4567 891011 1213 1415 1617 1819 2021 2223 int selectionsort int argv int size 選擇排序 if minindex i return time 來自code的 片 selectionsort.cpp 快速排序...
選擇排序,快速排序
二 快速排序 學習各種排序演算法,後續會繼續補充。例 對資料從小到大進行排序 先在列表中檢查每個元素找到最小的 需要的時間o n 執行n次這樣的操作 需要的總時間o n n n nn n 即o n 2n 2 n2 def findsmallest arr smallest arr 0 smalles...