2015-06-21 87 views
0

我有兩個功能,我想打印每個功能完成的時間。比較兩種功能花費的時間長度

我有什麼至今:

int main() 
{ 
    clock_t tic1 = clock(); 
    shell_sort(array, 100000); 
    clock_t toc1 = clock(); 
    printf("shellsort took: %f seconds\n", (double)(toc1 - tic1)/CLOCKS_PER_SEC); 

    clock_t tic2 = clock(); 
    bubble_sort(array, 100000); 
    clock_t toc2 = clock(); 
    printf("bubblesort took: %f seconds\n", (double)(toc2 - tic2)/CLOCKS_PER_SEC); 

    return 0; 
} 

它應該工作正常,但打印停止第一功能的持續時間之後。感覺這個程序還在運行。沒有「按任意鍵繼續」。我怎樣才能解決這個問題?

+0

誰應該打印「按任意鍵繼續」? –

+1

@koper我猜你使用的是前面問題中使用的shell排序,你知道爲什麼冒泡排序需要花費時間排序100,000個值。等一下。 – adrian008

+0

這個問題可以是未定義的行爲,它取決於你實現的功能。 –

回答

2

我假設你的排序功能沒問題。

您正試圖檢查冒泡排序對100,000個值進行排序的時間。我想你知道它很慢。有耐心和wait

enter image description here

正如你可以看到一十萬項應等待幾乎一分鐘。