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

C ++ STLのマルチマップinsert()


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

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

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

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

multimap ::insert()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 insert()は、マルチマップコンテナに新しい値を挿入するために使用され、挿入された要素の数だけコンテナのサイズを増やします。

すでに存在する関連付けられたキーをチェックするマップコンテナとは異なり、要素は挿入されませんが、マルチマップには、複数の要素を同じキーに関連付ける機能があります。

したがって、要素を挿入するたびに、そのキーに従ってそれぞれの位置に移動します。

構文

multiMap_name.insert({key& k, value_type& val});

または

multiMap_name.insert(iterator& it, {key& k, value_type& val});

または

multiMap_name.insert(iterator& position1, iterator& position2);

または

multimap_name.insert(initializer_list <value_type> il);

パラメータ

この関数は次のパラメータを受け入れます-

  • k −これは要素に関連付けられているキーです。この関数は、キーがすでにコンテナにあるかどうかをチェックし、要素を挿入しません。

  • val −挿入する値。

  • それ −要素を挿入する位置を指定するために使用されるイテレータタイプの値。

  • position1、position2 −一連の要素を挿入する場合、position1は開始位置、position2は終了位置です。挿入する複数の要素の範囲を使用できます。

  • il −これは、コンテナに初期化する要素を含む初期化リストです。

戻り値

この関数は、マップコンテナに新しく挿入された要素にイテレータを返します。

入力

mutlimap<int, char> mymap;
mymap.insert(1, ‘a’);
mymap.insert(2, ‘b’);

出力

1: a
2: b

//指定されたキーを使用して指定された位置に挿入する

#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 << "Elements 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

//inserting the element after the given key
#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({ 5, 40 });
   mul.insert({ 6, 50 });
   //finding the element after which we will insert
   auto i = mul.find(3);
   mul.insert(i, { 4, 90 });
   // print the elements
   cout << "KEY\tELEMENT\n";
   for (auto itr = mul.begin(); itr!= mul.end(); ++itr){
      cout << itr->first << '\t' << itr->second << '\n';
   }
   return 0;
}
出力

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

KEY ELEMENT
1 10
2 20
3 30
4 90
5 40
6 50

  1. C ++ STLのlistinsert()

    STLのC++で機能リストinsert()関数を表示するタスクが与えられています。 STLのリストとは リストは、任意の場所で一定時間の挿入と削除を順番に実行できるコンテナーです。リストは、二重にリンクされたリストとして実装されます。リストは、非連続的なメモリ割り当てを許可します。リストは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返すことができます。 insert()と

  2. C++STLでの配置と挿入

    emplace操作は、オブジェクトの不要なコピーを回避し、挿入操作よりも効率的に挿入を行います。挿入操作はオブジェクトへの参照を取ります。 アルゴリズム Begin Declare set. Use emplace() to insert pair. Use insert() to insert pair by using emplace(). Print the set. End サンプルコード #include<bits/stdc++.h> using namespace std; int main() {    set<pai