【筆記】常用C++ algorithm:sort

  • 【array】
    • 給定陣列 a[ ],陣列長度為 N。
    • sort(a, a+N); //就地排序,無回傳值。
    • sort(a, a+N, cmp); //自行定義 cmp 函式,決定排序方法。
  • 【vector】
    • 給定動態陣列 v[ ]。
    • sort(v.begin(), v.end()); //就地由小到大排序,無回傳值。
    • sort(v.begin(), v.end(), cmp); //自行定義 cmp 函式,決定排序方法。
    • sort(v.rbegin(), v.rend()); //就地由大到小排序,無回傳值。
  • 【範例】ZeroJudge c230: 松鼠旅行題解
#define pii pair<int,int>
bool cmp(pii a, pii b){
    if (a.first == b.first) return a.second > b.second;
    return a.first < b.first;
}

分享本文 Share with friends