std::sort
并不支持所有的容器,无法对std::list
使用std::sort()
,但可以使用std::list
的方法sort()
。
#include <iostream>
#include <string>
#include <vector>
#include <list>
#include <algorithm> // std::sort
int main() {
std::vector<int> vec{6,7,8,1,2,3};
std::list<int> lst{6,7,8,1,2,3};
std::sort(vec.begin(), vec.end());
for(const auto&it: vec){
std::cout << it << " ";
}
std::cout << std::endl;
//std::sort(lst.begin(), lst.end()); // 错误,std::sort不支持传入list
lst.sort(); // 可以调用list的方法sort
for(const auto&it: lst){
std::cout << it << " ";
}
std::cout << std::endl;
std::cout << std::string(40, '-') << std::endl;
}
输出:
1 2 3 6 7 8
1 2 3 6 7 8
----------------------------------------