ホームページ >バックエンド開発 >C++ >C++のソート関数sortの具体的な使い方

C++のソート関数sortの具体的な使い方

下次还敢
下次还敢オリジナル
2024-05-01 10:48:171231ブラウズ

std::sort 関数の使用には、並べ替える必要があるコンテナーまたは配列の定義が含まれます。反復子の範囲を指定して std::sort を呼び出します。オプション: カスタム並べ替え用のカスタム コンパレータを提供します。注: std::sort は元のコンテナを直接並べ替え、比較可能な要素にのみ適用されます。時間計算量は O(n log n) です (n は要素の数です)。

C++のソート関数sortの具体的な使い方

#C での std::sort 関数の使用法

定義と構文:

void sort(iterator start, iterator end)

ここで、

startend はコンテナまたは配列のイテレータです。ソートする要素の範囲を指定する演算子。

関数:

std::sort関数は、指定された範囲の要素を並べ替えます。コンテナーのサイズに応じて、クイックソートまたはマージソートの実装が使用されます。デフォルトでは昇順にソートされますが、降順またはその他のタイプのソートを行うためにカスタム コンパレータを提供できます。

使用法:

std::sort この関数は主に次の手順で使用されます。

  1. コンテナまたは配列を宣言します:

    <code class="cpp">vector<int> nums {5, 3, 1, 2, 4};</code>
  2. std::sort を呼び出します:

    <code class="cpp">std::sort(nums.begin(), nums.end());</code>
  3. ソートされた要素の反復処理:

    <code class="cpp">for (auto num : nums) {
      cout << num << " ";
    }</code>

カスタム コンパレータ:

デフォルトでは、

std:: sort< 演算子を使用して昇順に並べ替えます。他のタイプの並べ替えは、カスタム コンパレータ

<code class="cpp">struct greaterThan {
  bool operator()(int a, int b) {
    return a > b;
  }
};</code>
を提供し、

std::sort:

<code class="cpp">std::sort(nums.begin(), nums.end(), greaterThan());</code>

の呼び出し時にコンパレータを使用することで実装できます。

  • std::sort は比較可能な要素のみを並べ替えることができます (つまり、 < またはカスタム コンパレータをサポートします)。
  • この関数は、提供されたコンテナーまたは配列を直接変更します。ソートされた新しいコンテナーは返しません。
  • 大規模なデータ セットの場合、
  • std::sort の時間計算量は O(n log n) です。ここで、n はシーケンス内の要素の数です。

以上がC++のソート関数sortの具体的な使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。