アルゴリズムライブラリ
ソートや探索などのアルゴリズムとそのソースコードを紹介していますが、C++には基本的なアルゴリズムがライブラリとして用意されています。
プログラミングを学習する上で、アルゴリズムを考えることはとても重要です。
しかし、実用上ではこのアルゴリズムライブラリを用いるのが賢明です。
単純に作業工数の削減という意味でもそうですが、ライブラリで用意されている関数はより高速に処理できるように設計されているため、自身で設計するよりも処理速度を向上させることができます。
学習には自分で、実装はライブラリと使い分けられると良いでしょう。
代表的なアルゴリズム関数
アルゴリズムライブラリを使うには<algorithm>をインクルードします。
#include <algorithm>
以下に代表的なアルゴリズム関数を示します。
関数名 | 意味 |
sort() | 指定した範囲内でソートする。(イテレータで指定) |
max() | 引数のうち最も大きい値を返す。配列でも指定できる。 |
min() | 引数のうち最も小さい値を返す。配列でも指定できる。 |
swap() | 二つの変数の中身を入れ替える。何故必要かはポインタと関数を参照。 |
find() | 指定した値を線形探索する。 |
count() | 指定した値の個数を数える。 |
lower_bound() | 二分探索。指定した値以上で最小のデータを返す。 |
upper_bound() | 二分探索。指定した値より大きい最小のデータを返す。 |
これらを活用して楽にコーディングが出来るといいですね。