c++ 容器排序
阿新 • • 發佈:2018-12-13
#include <algorithm> #include <functional> #include <array> #include <iostream> using namespace std; int main() { array<int, 10> s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; // 用預設的 operator< 排序 sort(s.begin(), s.end());//升序 for (auto a : s) { cout<< a << " "; } cout << '\n'; // 用標準庫比較函式物件排序 sort(s.begin(), s.end(), greater<int>());//降序 for (auto a : s) { cout << a << " "; } cout << '\n'; // 用自定義函式物件排序 struct { bool operator()(int a, int b) const{ return a < b; } } customLess; sort(s.begin(), s.end(), customLess);//升序 for (auto a : s) { cout << a << " "; } cout << '\n'; // 用 lambda 表示式排序 sort(s.begin(), s.end(), [](int a, int b) { return b < a; });//降序 for (auto a : s) { cout << a << " "; } cout << '\n'; }
輸出
0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0