[英]How to use chrono to see how long my sorting algorithm takes each iteration?
我必須運行我的程序一定次數,並希望確定每次迭代完成所需的時間。 我將其更改為較小的值以查看結果,但它顯示了我
0.002056
0.001183
0.000613
0.000922
0.000731
我有點不確定這是否是結果應該如何查找冒泡排序,因為它開始大於結果的結尾。 這些結果看起來准確還是我在一個奇怪的位置調用我的計時器?
if (sorting_type == 1) {
for (int i = 0; i < 5; i++) {
auto timer1 = chrono::high_resolution_clock::now();
A->BubbleSort();
auto timer2 = chrono::high_resolution_clock::now();
chrono::duration<double, milli> duration_ms = timer2 - timer1;
cout << duration_ms.count() << endl;
}
}
您正在重復對同一組數據進行排序。 這導致冒泡排序在第一次迭代后花費的時間更少。 如果您的數據以前是這樣的:
[6,2,8,1]
這些步驟必須在第一次迭代中發生:
<->
[2,6,8,1]
<->
[2,6,8,1]
<->
[2,6,1,8]
<->
[2,6,1,8]
<->
[2,1,6,8]
<->
[2,1,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
其他迭代都將如下所示:
<->
[1,2,6,8]
<->
[1,2,6,8]
<->
[1,2,6,8]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.