C++STLのmultimap::crbegin()およびmultimap ::crend()
この記事では、C++STLでのmultimap::crbegin()およびmultimap ::crend()関数の動作、構文、および例について説明します。
C ++ STLのマルチマップとは何ですか?
マルチマップは、マップコンテナに似た連想コンテナです。また、Key-Valueとマップされた値の組み合わせによって形成された要素を特定の順序で格納することも容易になります。マルチマップコンテナには、同じキーに関連付けられた複数の要素が存在する可能性があります。データは、関連するキーを使用して内部的に常に並べ替えられます。
multimap ::cbegin()とは何ですか?
multimap ::crbegin()関数は、C ++ STLに組み込まれている関数であり、
構文
mutliMap_name.crbegin();
パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は、コンテナの最後の要素を指しているイテレータを返します。
入力
multimap<char, int> newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); newmap.crbegin();
出力
c:3
例
#include <bits/stdc++.h> using namespace std; int main(){ //create the container multimap<int, int> mul; //insert using emplace mul.emplace_hint(mul.begin(), 1, 10); mul.emplace_hint(mul.begin(), 2, 20); mul.emplace_hint(mul.begin(), 2, 30); mul.emplace_hint(mul.begin(), 1, 40); mul.emplace_hint(mul.begin(), 1, 50); mul.emplace_hint(mul.begin(), 5, 60); auto it = mul.crbegin(); cout<<"Last element using crbegin() is: {"<<it->first<< ", " << it->second << "}\n"; cout <<"\nElements in multimap is : \n"; cout << "KEY\tELEMENT\n"; for (auto i = mul.crbegin(); i!= mul.crend(); i++){ cout << i->first << "\t" << i->second << endl; } return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Last element using crbegin() is: {5, 60} Elements in multimap is : KEY ELEMENT 5 60 2 20 2 30 1 10 1 40 1 50
multimap ::crend()とは何ですか?
multimap ::crend()関数は、C ++ STLに組み込まれている関数であり、
構文
newmultimap.crend();
パラメータ
この関数はパラメータを受け入れません。
戻り値
関連するコンテナの前の最初の要素を指すイテレータを返します。
入力
multimap<char, int&lgt; newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); newmap.crend();
出力
error
#include <bits/stdc++.h> using namespace std; int main(){ //create the container multimap<int, int> mul; //insert using emplace mul.emplace_hint(mul.begin(), 1, 10); mul.emplace_hint(mul.begin(), 2, 20); mul.emplace_hint(mul.begin(), 2, 30); mul.emplace_hint(mul.begin(), 1, 40); mul.emplace_hint(mul.begin(), 1, 50); mul.emplace_hint(mul.begin(), 5, 60); cout << "\nElements in multimap is : \n"; cout << "KEY\tELEMENT\n"; for (auto i = mul.crbegin(); i!= mul.crend(); i++){ cout <<<; i->first << "\t" << i->second < endl; } return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Elements in multimap is : KEY ELEMENT 5 60 2 20 2 30 1 10 1 40 1 50
-
C++STLのArray::crbegin()とarray ::crend()?
ここでは、C ++ STLの配列のcrbegin()関数とcrend()関数を確認します。 array ::crbegin()関数は、逆イテレータを取得するために使用されます。コンテナの最後の要素を指す定数逆イテレータを返します。この関数はパラメータを取りません。 array ::crend()関数はcrbegin()の逆です。これにより、逆イテレータの最後の要素を指しているイテレータが返されます。 より良いアイデアを得るために、いくつかのコード例を見てみましょう。 例 #include<iostream> #include<array> using namesp
-
C++STLのマップおよびマルチマップの降順
一般に、マップおよびマルチマップマップのデフォルトの動作は、要素を昇順で格納することです。ただし、大きい関数を使用すると、要素を降順で格納できます。 降順の地図: 関数はここで使用されます- m ::find() –見つかった場合は、マップ内のキー値「b」を持つ要素にイテレータを返します。それ以外の場合は、終了するイテレータを返します。 m ::Erase() –マップからキー値を削除します。 m ::equal_range() –ペアのイテレータを返します。ペアは、キーと同等のキーを持つコンテナ内のすべての要素を含む範囲の境界を指します。 m insert