第一個參數 一般為 排序的起始點
vector.begin()(起點) 或者其他位置
第二個參數 一般為 排序的終止點
vector.end() (終點) 或者其他位置
第三個參數是排序函數
對於一些復雜的結構 比如pair 我們需要定義排序規則
// sort algorithm example
#include <iostream> // std::cout
#include <algorithm> // std::sort
#include <vector> // std::vector
using namespace std;
bool myfunction (int i,int j) { return (i<j); }//升序排列
bool myfunction2 (int i,int j) { return (i>j); }//降序排列
bool myfunction3 (pair<int , int> i,pair<int , int> j) { return (i.second>j.second); } // 按照pair的第二個元素 降序排列
int main() {
vector <pair<int , int >> tmp;
tmp.push_back(make_pair(1,2));
tmp.push_back(make_pair(5,4));
tmp.push_back(make_pair(6,3));
tmp.push_back(make_pair(8,5));
tmp.push_back(make_pair(9,1));
sort(tmp.begin(), tmp.end(), myfunction3);
for (auto i : tmp) {
cout << i.first << " " << i.second << endl;
}
return 0;
}
//輸出
//8 5
//5 4
//6 3
//1 2
//9 1