1.14.STLの関数
コメント
STLの関数はAPG4bで紹介されたもの以外にも色々あります。興味がある人は調べてみるといいでしょう。
min, max, swap, sort, reverse はよく使うので覚えておいてください。
豆知識
逆順ソート
#include <bits/stdc++.h>
using namespace std;
int main(){
vector<int> vec = {2, 4, 1, 3};
sort(vec.rbegin(), vec.rend()); // vecを逆順にソート
for(int i = 0; i < 4;i++) cout << vec[i] << endl;
}
このコードを実行してみてください。
4
3
2
1
と表示されたかと思います。
このように、配列の要素を大きい順番に並べ替えたいときは上のコードのように一旦小さい順に並び替えてから配列全体を逆転させることで出来ます。
min,maxの発展
min, max を使うと要素の最小値/最大値が分かりますが、
min(a,b,c); // コンパイルエラー
max(a,b,c); // コンパイルエラー
このように min, max の中に要素を3つ以上書くとコンパイルエラーになってしまいます。
3つ以上の要素の要素の最小値/最大値を知りたい場合は下のように {} で囲ってください。
min({a,b,c}); // コンパイルエラーにならない
max({a,b,c}); // コンパイルエラーにならない
演習問題
関数は問題を解いていくうちに自然と覚えていくと思います。
余裕がある人向けの問題