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

C++STLのmultimap::cbegin()およびmultimap ::cend()


この記事では、C++STLでのmultimap::cbegin()およびmultimap ::cend()関数の動作、構文、および例について説明します。

C ++ STLのマルチマップとは何ですか?

マルチマップは、マップコンテナに似た連想コンテナです。また、キー値とマップされた値の組み合わせによって形成された要素を特定の順序で格納することも容易になります。マルチマップコンテナには、同じキーに関連付けられた複数の要素が存在する可能性があります。データは、関連するキーを使用して内部的に常に並べ替えられます。

multimap ::cbegin()とは何ですか?

multimap ::cbegin()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 cbegin()は定数begin関数です。この関数は、マルチマップコンテナの最初の要素を指している定数イテレータを返します。返されるイテレータは定数イテレータであり、コンテンツを変更するために使用することはできません。イテレータを増減することで、マップコンテナの要素間を移動するために使用できます。

構文

multi.cbegin();

パラメータ

この関数はパラメータを受け入れません。

戻り値

関連するマップコンテナの最初の要素を指すイテレータを返します。

入力

multimap<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.cbegin();

出力

a = 1

#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.cbegin();
   cout << "First element in the multimap is: ";
   cout << "{" << it->first << ", " << it->second << "}\n";
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto i = mul.cbegin(); i!= mul.cend(); i++){
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

First element in the multimap is: {1, 50}
Elements in multimap is :
KEY    ELEMENT
1      50
1      40
1      10
2      30
2      20
5      60

multimap ::cend()とは何ですか?

multimap ::cend()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 cend()関数は定数end()です。この関数は、関連付けられたマルチマップコンテナの最後の要素を過ぎた要素の定数イテレータを返します。

返されるイテレータは定数イテレータであり、コンテンツの変更には使用できません。それらを使用して、イテレータを増減することにより、マップコンテナの要素間を移動できます。

multimap ::cbegin()およびmultimap ::cend()は、範囲の開始と範囲の終了を指定することにより、コンテナー全体をトラバースするために使用されます。

構文

multi.cend();

パラメータ

この関数はパラメータを受け入れません。

戻り値

関連するマップコンテナの最後の要素の過去を指すイテレータを返します。

入力

multimap <char, int> newmap;
newmap(make_pair(‘a’, 1));
newmap(make_pair(‘b’, 2));
newmap(make_pair(‘c’, 3));
newmap.cend();

出力

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.cbegin(); i!= mul.cend(); i++){
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Elements in multimap is :
KEY ELEMENT
1 50
1 40
1 10
2 30
2 20
5 60

  1. C ++ STLのcbegin()およびcend()関数を一覧表示します

    与えられたのは、C++でのlist::cbegin()およびlist::cend関数の動作を示すタスクです。 list ::cbegin()およびlist ::cend()関数は、C++標準テンプレートライブラリの一部です。 これらの関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 list ::cbegin() この関数は、リストの最初の要素を指す定数イテレータを返します。リストをトラバースするために使用できますが、リスト内の値を変更することはできません。つまり、cbegin()関数は反復にのみ使用できます。 構文 List_Name.cbegin();

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

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