gpt4 book ai didi

c++ - 在 std::sort() 中完成的比较次数

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:25 24 4
gpt4 key购买 nike

当对包含 n 个整数的 vector 进行排序时,如何计算标准 C++ STL 排序函数中发生的比较次数?

最佳答案

一种快速、非侵入式的方法是使用 lambda 函数。如果您使用的是 C++11 或更高版本,则可以使用 lambda,因此类似于以下内容:

unsigned int numComparisons = 0U;
std::vector<unsigned int> someContainer;
// Fill container, etc.
std::sort(
std::begin(someContainer),
std::end(someContainer),
[&numComparisons]( unsigned int lhs, unsigned int rhs )
{
++numComparisons;
return lhs < rhs;
}
);

std::cout << numComparisons << " comparisons were performed in std::sort" << std::endl;

关于c++ - 在 std::sort() 中完成的比较次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42997917/

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