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

C ++ STLのマップinsert()


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

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

マップは連想コンテナであり、キー値とマップされた値の組み合わせによって形成された要素を特定の順序で格納するのを容易にします。マップコンテナでは、データは常に関連するキーを使用して内部的に並べ替えられます。マップコンテナの値には、一意のキーからアクセスします。

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

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

マップコンテナ内のキーは一意であるため、挿入操作では、挿入される各要素にコンテナ内にすでに存在するキーがあるかどうかがチェックされます。存在する場合は、要素は挿入されません。

また、マップコンテナは、昇順でそれぞれのキーを介してすべての要素を維持します。したがって、要素を挿入するたびに、そのキーに従ってそれぞれの位置に移動します。

構文

1. Map_name.insert({key& k, value_type& val});
or
2. Map_name.insert(iterator& it, {key& k, value_type& val});
or
3. Map_name.insert(iterator& position1, iterator& position2);

パラメータ

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

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

  • val −挿入する値。

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

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

戻り値

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

入力

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.insert({d, 50});

出力

a:1
b:2
c:3
d:50

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

出力

TP Map is:
MAP_KEY    MAP_ELEMENT
1          10
2          30
3          50
4          70

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   auto i = TP_Map.find(4);
   TP_Map.insert(i, { 5, 80 });
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

出力

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
3             50
4             70
5             80

  1. C++STLでのセットとマップ

    Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。 マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。 順序付けされていない要素と並べ替えられていない要素には、unorder

  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