gpt4 book ai didi

C++ - 时间执行 0 与 Chrono 库

转载 作者:行者123 更新时间:2023-12-02 10:22:58 25 4
gpt4 key购买 nike

我正在使用合并排序对数组进行排序。我使用 Chrono 库来测量时间,但有时结果为 0。

int main() {
srand(50000);
int A[N];
for (int i = 0; i < N; i++) {
A[i] = rand();
}

cout << "Array non ordinato\n";
Stampa(A, N);
auto start = std::chrono::system_clock::now();
QuickSort(A, 0, N - 1);
auto end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed = end - start;
cout << "\nArray ordinato\n";
Stampa(A, N);
cout << "Elapsed time in nanoseconds : "
<< chrono::duration_cast<chrono::nanoseconds>(end - start).count()
<< " ns" << endl;
cout << "Elapsed time in milliseconds : "
<< chrono::duration_cast<chrono::milliseconds>(end - start).count()
<< " ms" << endl;
cout << "Elapsed time: " << elapsed.count() << "s";
}

我定义了 N#define N 300 .

如果 N300 ,耗时(纳秒、毫秒或秒)为 0 .如果我增加 N ,我的耗时大于零。我也需要时间来处理小型阵列。我该如何解决?

最佳答案

如果您想要更精确的小 N 排序,我建议使用 high resolution clock而不是系统时钟。

关于C++ - 时间执行 0 与 Chrono 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254940/

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