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

C++STLのmultimap::begin()およびmultimap ::end()


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

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

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

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

multimap ::begin()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 begin()は、関連付けられたマルチマップコンテナの最初にある要素にアクセスするために使用されます。

この関数は、コンテナーの最初の要素を指すイテレーターを返します。コンテナに値が含まれていない場合、イテレータを使用することはできません

構文

multimap_name.begin();

パラメータ

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

戻り値

この関数は、マップコンテナの最初の値を指すイテレータを返します。

入力

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.begin();

出力

a:10

multimap ::begin()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //fetching first pair in multimap
   auto i = mul.begin();
   cout<<"First element in multimap is: ";
   cout << "{" << i->first << ", " << i->second << "}\n";
   //displaying multimap elements
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

出力

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

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

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

multimap ::end()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 end()は、マルチマップコンテナの最後の要素の後、または最後の要素を過ぎた要素にアクセスするために使用されます。

この関数は、コンテナの最後の要素の隣にある要素を指すイテレータを返します。コンテナに値が含まれていない場合、イテレータを逆参照することはできません

通常、begin()とend()は、範囲を指定してマップコンテナを反復処理するために使用されます。

構文

multimap_name.end();

パラメータ

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

戻り値

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

入力

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.end();

出力

error

multimap ::end()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   cout << "\nElemenst in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

出力

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

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

  1. C++STLのset::begin()およびset ::end()

    Set ::begin()関数は、セットコンテナの最初の要素を指すイテレータを返すために使用される双方向イテレータです。 Set ::end()関数は、セットコンテナの最後の要素を指すイテレータを返すために使用される双方向イテレータです。 サンプルコード #include<iostream> #include <bits/stdc++.h> using namespace std; int main() {    set<int> s;    set<int>::iterator it;   &

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

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