c++ - C++ STL 中排序算法的工作

标签 c++ stl

从 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/

相关文章:

c++ - std::remove 无法正常工作,仍然有额外的元素

c++ - 通过 Visual C++ 通过 UDP 发送得到大量未解析的外部符号 __imp__sendto@24

C++:如何存储一组排序的元组?

c++ - 如果在某些输入之后使用 getline() 将不起作用

c++ - 如何将 C++ dll 文件加载到 Matlab 中

c++ - vector 中元素范围的迭代器,其属性具有特定值

c++ - 在堆栈上为小字符串分配字符串类?

c++ - c++ 集合中的用户定义数据类型

c++ - 'using' 语句用 g++ 编译,用 clang 编译失败

资源中的 c++ visual studio 2010 exe 得到 Rebased?