C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での降順でのベクトルの並べ替え


C ++でのベクトルの並べ替えは、std ::sort()を使用して実行できます。 ヘッダーで定義されています。安定したソートを取得するには、std::stable_sortを使用します。これはsort()とまったく同じですが、等しい要素の相対的な順序を維持します。必要に応じて、Quicksort()、mergesort()も使用できます。

ベクトルを降順で並べ替えるには、std ::greater <>()。

を使用します。

アルゴリズム

Begin
   Declare v of vector type.
      Initialize some values into v in array pattern.
   Print “Elements before sorting”.
   for (const auto &i: v)
      print all the values of variable i.
   Print “Elements after sorting”.
   Call sort(v.begin(), v.end(), greater <>()) function to sort all the
   elements in descending order of v vector.
   for (const auto &i: v)
      print all the values of variable i.
End.

これは、C++でベクトルをソートする簡単な例です。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
   vector<int> v = { 10, 9, 8, 6, 7, 2, 5, 1 };
   cout<<"Elements before sorting"<<endl;
   for (const auto &i: v)
      cout << i << ' '<<endl;
      cout<<"Elements after sorting"<<endl;
      sort(v.begin(), v.end(), greater <>());
   for (const auto &i: v)
      cout << i << ' '<<endl;
   return 0;
}

出力

Elements before sorting
10
9
8
6
7
2
5
1
Elements after sorting
10
9
8
7
6
5
2
1

  1. C++STLのマップおよびマルチマップの降順

    一般に、マップおよびマルチマップマップのデフォルトの動作は、要素を昇順で格納することです。ただし、大きい関数を使用すると、要素を降順で格納できます。 降順の地図: 関数はここで使用されます- m ::find() –見つかった場合は、マップ内のキー値「b」を持つ要素にイテレータを返します。それ以外の場合は、終了するイテレータを返します。 m ::Erase() –マップからキー値を削除します。 m ::equal_range() –ペアのイテレータを返します。ペアは、キーと同等のキーを持つコンテナ内のすべての要素を含む範囲の境界を指します。 m insert

  2. C++STLを使用したカスタムオブジェクトのベクトルの並べ替え

    C++STL関数std::sortを使用して、カスタムオブジェクトのベクトルを並べ替えることができます。ソート関数には、最初、最後、コンパレータを引数として取るオーバーロードされた形式があります。最初と最後は、コンテナの最初と最後の要素へのイテレータです。コンパレータは、コンテナのソート方法を指示するために使用できる述語関数です。 例 #include<iostream> #include<algorithm> #include<vector> using namespace std; struct MyStruct {    int