要使用sort排序,首先得包含algorithm的头文件,即在文件开头写下这么一行:
#include
同时,为了书写方便,同时也写下
using namespace std;
sort排序有两种参数模式,返回值都是void
一种是sort(first, last)
一种是sort(first, last, comp)
first和last表示的是一个迭代器对象,可以理解成指针,comp是一种自定义的比较器,可以自己定义比较规则。比较的范围是一个开区间[first, last)。
写个demo:
#include
#include
#include
using namespace std;
/*
缺省比较器的默认比较规则是升序排序,这里用两种方法构造两个和默认比较规则一致的比较器。
若要实现降序排序,把 '' 就可以了。
*/
bool comp(int i, int j) {
return i < j;
}
struct {
bool operator()(int i, int j) {
return i < j;
}
} comp2;
int main(void) {
vector vec = {3, 2, 4, 1, 7, 6, 5, 8 };
//1. 实现前四个元素的升序排序
sort(vec.begin(), vec.b