C++中的sort()函数

sky*_*oor 2 c++

我在C++中找到了两种形式的sort():

1)排序(开始,结束);

2)XXX.sort();

一个可以在没有对象的情况下直接使用,一个可以使用对象.

这就是全部?这两种排序()之间有什么区别?他们来自同一个图书馆?第二个是XXX的方法吗?

我可以像这样使用它吗?

vector<int> myvector
myvector.sort();
Run Code Online (Sandbox Code Playgroud)

要么

list<int> mylist;
mylist.sort();
Run Code Online (Sandbox Code Playgroud)

AnT*_*AnT 16

std::sort是一个函数模板,适用于任何一对随机访问迭代器.因此,实现的算法std::sort被定制(优化)用于随机访问.大多数时候它会有一些快速排序的味道.

std::list::sort是一个专门的面向列表的排序版本.std::list是一个不支持[高效]随机访问的容器,这意味着你不能使用std::sort它.这产生了对专用排序算法的需求.大多数情况下,它将被实现为一些合并排序的风格.