文字列のソート
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をならべられる。
便利すぎぃ!!!
カスタム的な感じでも使えるし混乱する。