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

C ++ STLでinsert()を設定します


この記事では、C++STLのset::insert()関数、それらの構文、動作、および戻り値について説明します。

C ++ STLの設定とは何ですか?

C ++ STLのセットは、一般的な順序で一意の要素を持つ必要があるコンテナーです。要素の値は要素を識別するため、セットには一意の要素が必要です。セットコンテナに値を追加すると、後で変更することはできませんが、値を削除したり、セットに追加したりすることはできます。セットは二分探索木として使用されます。

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

insert()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。この関数は、セットコンテナに要素を挿入するために使用されます。要素を挿入すると、挿入された要素の数だけコンテナのサイズが大きくなります。セットには一意の値が含まれているため、insert()は要素を挿入するだけでなく、挿入される要素がセットコンテナに存在しないかどうかを最初にチェックします。また、セットではすべての要素が並べ替えられた位置に格納されるため、挿入する要素は並べ替えられた位置に従って挿入されます。

構文

Set1.insert(const type_t &value); ----(1)
Or
Set1.insert(iterator position, const type_t &value); -----(2)
Or
Set1.insert(iterator position_1, iterator position_2); -----(3)

パラメータ

  • value-設定されたコンテナに挿入される値です。

  • position-位置のヒントです。この位置から検索を開始し、挿入に適した場所に要素を挿入します。

  • position_1、position_2 −これらは、insert()に関連付けられたセットに挿入される範囲を指定するイテレーターです。範囲の開始にはposition_1、範囲の終了にはposition_2。

戻り値

この関数は、関数で渡された引数に応じてさまざまなタイプの値を返します。

  • 値のみを渡す場合。この関数は、設定されたコンテナに挿入されている要素を指すイテレータを返します。

  • 値で位置を渡すとき;この関数は、設定されたコンテナに挿入されている要素を指すイテレータを再び返します。

  • position_1とposition_2を渡すと;この関数は、position_1から始まりposition_2で終わる範囲の間にある値のセットを返します。

Input: set<int> myset;
   myset.insert(10);
Output: values in the set = 10
Input: set <int> myset = {11, 12, 13, 14};
   myset.insert(myset.begin(), 10);
Output: values in the set = 10 11 12 13 14

キュー内のセットに要素を挿入する、つまり次々に

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   mySet.insert(10);
   mySet.insert(20);
   mySet.insert(30);
   mySet.insert(40);
   mySet.insert(50);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

出力

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

Elements are : 10 20 30 40 50

位置に基づいてセットに要素を挿入する

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   auto i = mySet.insert(mySet.begin(), 10);
   i = mySet.insert(i, 20);
   i = mySet.insert(i, 40);
   i = mySet.insert(i, 30);
   i = mySet.insert(i, 80);
   i = mySet.insert(mySet.end(), 90);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

出力

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

Elements are: 10 20 30 40 80 90

  1. C ++ STLのマルチセットinsert()関数

    C ++ STLのマルチセットinsert()関数は、マルチセットコンテナ内の要素を、あるマルチセットから別のマルチセットのある位置から別の位置に挿入します。 使用されている関数のリスト: ms.size()=マルチセットのサイズを返します。 ms.insert()=マルチセットに要素を挿入するために使用されます。 サンプルコード #include <iostream> #include <set> #include <string> #include <cstdlib> using namespace std; int main()

  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