我在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它.这产生了对专用排序算法的需求.大多数情况下,它将被实现为一些合并排序的风格.