从 Sort(begin,end) 的用法看来,只需指定容器的开始和结束索引,该函数就可以对容器进行排序。但我的问题是排序函数如何获取容器的类型。
std::sort(myvector.begin(), myvector.end());
根据上面的代码,我假设发送了开始和结束索引。 vector类型和vector名称是怎么推导出来的。
最佳答案
函数 std::sort
,像许多其他人一样来自 <algorithm>
, 不关心容器类型,因为它适用于概念。
具体来说,函数定义为:
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
可以看到,模板是用来表达 ValueSwappable
的概念的和 RandomAccessIterator
迭代器。
关于c++ - C++ STL 中排序算法的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21058030/