C語言 分享一種測試C語言程式塊執行時間的方法

2021-09-26 22:02:47 字數 722 閱讀 6543

在程式設計中,有些問題可能有不同地解決方法,對應的,也就編寫出不同的程式。那麼,如何衡量各個演算法之間的好壞呢?每個演算法的衡量需要綜合很多方便,比如執行時間上,或者所占用記憶體空間上等。

這篇筆記中,我們關注的是執行時間。對於執行時間(專業一點的詞就是時間複雜度),通常我們可以粗略地通過迴圈體的迴圈次數來判斷。

此處,我們通過一小段程式測試我們程式塊的執行時間(windows平台下)。測試**如下:

#include

#include

// 用到clock()函式

intmain

(void

)/* end */

endtime =

clock()

;// 計時結束

printf

("\n\nrunning time:%dms\n"

, endtime-starttime)

;return0;

}

程式執行結果為:

我們運用time.h標頭檔案裡的clock()函式可獲取當前的時間戳,我們在需要測試的程式塊前後各獲取一次時間戳,然後用後一次時間戳減去前一次時間戳就可得到該程式塊的執行時間。當然,這也只是得到粗略的執行時間,因為只能精確到ms。

C語言小程式分享

define myhead h 標頭檔案內容 endif 二 print 是什麼?print 是我在print.h中定義的乙個將內容輸出到螢幕函式,沒有過多意義,用作顯示一些重複的提示語之用。三 setcolor 是什麼?setcolor是window.h下的乙個函式,用作改變ide的背景色和前景色...

一種排序(C語言結構體)

描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長排序 3.如果編號和長都相同,按照長方形的寬排序 4.如果編號 長...

蛇形矩陣的一種解法(C語言)

錨定中心點 int i n 2 int j n 2 int k 0 int dir 4 a i j num num while num n n while flag feet feet 直到挪動到指定步數 k break case down flag feet 0 dowhile flag feet...