Rogue Wave バナー
前へマニュアルの先頭へ目次索引次へ

14.2 ソートアルゴリズム


注 : 以降の節で説明するプログラム例は、組み合わされて alg7.cpp ファイルに含まれています。 第 13 章と同様に、ここで説明するプログラムでは出力文が省略されています。 全ての出力文はプログラムファイルに付属しています。

標準 C++ ライブラリには、次のように定義される 2 つの基本ソートアルゴリズムがあります。

sort() アルゴリズムの方が多少高速ですが、元のシーケンス内の等価要素が、最終結果でもその相対順序を保持することは保証されません。順序が重要な場合は、stable_sort() バージョンを使用してください。

これらのアルゴリズムはランダムアクセス反復子を必要とするため、vectordeque、および通常の C ポインタにのみ使用することができます。ただし、list コンテナには独自の sort() メンバー関数があることに留意してください。

デフォルトの演算子 < が不適切な場合は、比較演算子を明示的に指定することができます。この明示的比較演算子は、list を昇順ではなく降順にソートするプログラム例に使用されています。コレクション全体を逆方向にソートする代替方法として、逆方向反復子を使用してシーケンスを定義する方法があります。


注 : もうひとつのソートアルゴリズムは、14.8 節で説明するヒープ演算によって提供されます。

以下のプログラム例は、vector に適用される sort() アルゴリズムと、明示的比較演算子を使用して deque に適用される sort() アルゴリズムを説明しています。


前へマニュアルの先頭へ目次索引次へ
Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月