/*
*煙台大學計算機與控制工程學院
*完成日期:2023年10月12日
* ** *
* **問題描述:兩種排序演算法(選擇排序和快速排序)的執行時間
*程式輸出:執行時間
*/#include #include #include #define maxnum 100000
void selectsort(int a, int n)
if(k != j)
}}int main()
while(fscanf(fp, "%d", &x[n])!=eof)
n++;
printf("資料量:%d, 開始排序....", n);
t1=time(0);
selectsort(x, n);
t2=time(0);
printf("用時 %d 秒!", (int)(t2-t1));
fclose(fp);
return 0;
}
執行結果:
以上是選擇排序演算法,通過截圖可以看出用時15秒。
#include #include #include #define maxnum 100000
void quicksort(int data,int first,int last)
{ int i, j, t, base;
if (first>last)
return;
base=data[first];
i=first;
j=last;
while(i!=j)
{while(data[j]>=base && i執行結果:
以上是快速排序演算法,通過截圖,可以看出時間為0秒
知識點總結:
從執行結果可以看出,選擇排序所需要的時間比快速排序所需要的時間長。
選擇排序用的是氣泡排序法,快速排序是兩邊同時進行,所以選擇排序會比快速排序更慢一點。
學習心得:
要注意更加深刻地記憶氣泡排序。
第2周 專案3 體驗複雜度
問題及 檔名稱 test.cpp 作 者 董子賓 完成日期 2015年 9 月 11日 版 本 號 v1.0 問題描述 體驗複雜度是o n 2 的選擇排序程式和複雜度為o nlogn 的快速排序程式 問題輸入 無 問題輸出 程式執行時間 複雜度是o n 2 的選擇排序程式 include inclu...
第2周專案3體驗複雜度
複雜度是o n 2 的選擇排序程式 問題及 煙台大學計算機與控制工程學院 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序q...
第2周專案3 體驗複雜度
檔名稱 複雜度.cpp 作 者 張晗 完成日期 2015年9月18日 版 本 號 v1.0 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適 用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,復 雜度為o n 2 的選擇排序selectsort,和複雜度為o n...