gpt4 book ai didi

c++ - 如何使用chrono查看我的排序算法每次迭代花费多长时间?

转载 作者:行者123 更新时间:2023-12-03 07:21:44 24 4
gpt4 key购买 nike

我必须将程序运行一定的时间,并希望确定完成每次迭代所需的时间。我将其更改为较小的值以查看结果,但显示给我

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]

关于c++ - 如何使用chrono查看我的排序算法每次迭代花费多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64899513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com