C++ sort 便利すぎメモ

文字列のソート

string s = "830179";
sort(s.begin(),s.end());
// 013789
vector>int< arr = {114,514,19,81,0};
sort(arr.begin(), arr.end(), [](int a, int b) {
    return a > b;
  });

なんだいこれはって感じ。
降順で返してくれるらしい。そして文字列につかえるみたい。

sort(begin(s), end(s), [&](char c1,char c2) {
        return c1 < c2; //降順 //return c1 > c2;
    });

これでアルファベット順にしてくれる。
比較可能であればいいので他にもいろいろできる。

int n;
  cin >> n;
  vector s(n);
  for(int i=0;i<n;i++){ 
    cin >> s[i];
  }
  
  sort(begin(s), end(s), [](string c1,string c2) {
        return c1 < c2;
    });
  for(int i=0;i<n;i++){
    cout << s[i] << endl;
  }

これで辞書順にstringをならべられる。
便利すぎぃ!!!
カスタム的な感じでも使えるし混乱する。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA