ベクトルは、動的配列として機能するデータのシーケンスを格納するためのC ++の便利なコンテナクラスです。ベクトルオブジェクトのサイズは、実行時にオブジェクトの要素を追加または削除することで増減できます。 insert()関数は、ベクトルオブジェクトの特定の要素の前に、その要素の位置を指定することにより、1つ以上の新しい要素を追加するために使用されます。ベクトルオブジェクトのサイズが動的に増加します。このチュートリアルでは、この関数のさまざまな構文と使用法について説明しました。
構文:
ベクトルのinsert()関数は、さまざまな目的でさまざまな方法で使用できます。この関数の3つの異なる構文を以下に示します。
イテレータインサート((const_iteratorの位置、constvalue_type&価値)。;
上記のinsert()関数は、position引数で指定されたベクトル要素の位置の前にvalue引数の値を挿入するために使用されます。ベクトルの新しく挿入された要素を指すイテレータを返します。
イテレータインサート((イテレータの位置、size_type n、constvalue_type&価値)。;
上記のinsert()関数は、前述のinsert()関数と同様に機能しますが、同じ値をベクターオブジェクトに複数回挿入します。
イテレータインサート((const_iteratorの位置、InputIteratorが最初、InputIteratorが最後)。;
上記のinsert()関数は、position引数で指定されたベクトル要素の位置の前に要素の範囲を挿入するように機能します。前の2つのinsert()関数のように、ベクトルの新しく挿入された要素を指すイテレータを返します。
前提条件:
このチュートリアルの例を確認する前に、g ++コンパイラがシステムにインストールされているかどうかを確認する必要があります。 Visual Studio Codeを使用している場合は、必要な拡張機能をインストールして、C ++ソースコードをコンパイルして実行可能コードを作成します。ここでは、Visual StudioCodeアプリケーションを使用してC ++コードをコンパイルおよび実行しています。要素をベクトルに挿入するためのinsert()関数のさまざまな使用法を以下に示します。
例-1:単一の要素を挿入する
次のコードを使用してC ++ファイルを作成し、insert()関数を使用して単一の要素を挿入します。 5つの浮動小数点数のベクトルがコードで宣言されています。最初のinsert()関数は、begin()関数を使用してベクトルの先頭に数値を挿入するために使用されています。 2番目のinsert()関数は、イテレータ変数を使用してベクトルの先頭に数値を挿入するために使用されています。 3番目のinsert()関数は、ベクトルの4番目の位置に数値を挿入する必要があります。
//必要なライブラリを含める
#含む
#含む
を使用して 名前空間時間;
//ベクトルを表示します
空所画面((ベクター<浮く>>nums)。
{{
//ループを使用してベクトルの値を出力します
にとって((自動彼=nums。始める(()。;彼!=nums。終わり(()。 ;彼++)。
費用 << *彼<< '';
//新しい行を追加します
費用 << 'NS';
}
int主要(()。
{{
//ベクトルを初期化します
ベクター<浮く>>価格= {{ 78.56、34.07、2. 3、フォーファイブ、61.08、29.3 };
費用 << '元のベクトル:';
画面((価格)。;
// begin()を使用して先頭に番号を挿入します
自動イテレータ=価格。入れる((価格。始める(()。、42.67)。;
費用 << '最初の挿入後のベクトル:';
画面((価格)。;
//イテレータを使用して先頭に番号を挿入します
価格。入れる((イテレータ、30.76)。;
費用 << '2番目の挿入後のベクトル:';
画面((価格)。;
//整数変数を初期化します
intポジション= 3;
//特定の位置に番号を挿入します
イテレータ=価格。入れる((価格。始める(()。 +ポジション、52.56)。;
費用 << '3番目の挿入後のベクトル:';
画面((価格)。;
戻る 0;
}
出力:
上記のコードを実行すると、次の出力が表示されます。ベクトルの値は、出力に4回出力されています。
例-2:単一の要素を複数回挿入する
次のコードを使用してC ++ファイルを作成し、3つのパラメーターを指定したinsert()関数を使用して、同じ要素をベクターに複数回挿入します。 8つの整数のベクトルがコードで宣言されています。コードのinsert()関数を実行した後、数値50がベクトルの最後に5回挿入されます。ここでは、end()関数を使用して、ベクトルの最後に要素を挿入しています。
//必要なライブラリを含める#含む
#含む
を使用して 名前空間時間;
//ベクトルを表示します
空所画面((ベクター<int>>nums)。
{{
//ループを使用してベクトルの値を出力します
にとって((自動彼=nums。始める(()。;彼!=nums。終わり(()。 ;彼++)。
費用 << *彼<< '';
//新しい行を追加します
費用 << 'NS';
}
int主要(()。
{{
//ベクトルを初期化します
ベクター<int>>intArray{{7、5、12、4、フォーファイブ、3、64、10};
費用 << '元のベクトル:';
画面((intArray)。;
//ベクトルの最後に同じ数を複数回挿入します
intArray。入れる((intArray。終わり(()。、5、50)。;
費用 << '同じ数を5回挿入した後のベクトル:';
画面((intArray)。;
費用 << 'NS';
戻る 0;
}
出力:
上記のコードを実行すると、次の出力が表示されます。ベクトルの値は、出力に2回出力されています。
例-3:要素の範囲を挿入する
次のコードを使用してC ++ファイルを作成し、ベクトルから別のベクトルの末尾にすべての要素を挿入します。ここで、insert()関数には3つのパラメーターが含まれています。挿入の位置は最初のパラメータで設定されています。 2番目のベクトルの開始イテレータと終了イテレータは、insert()関数の2番目と3番目の引数に設定されています。
//必要なライブラリを含める#含む
#含む
を使用して 名前空間時間;
//関数プロトタイプを定義します
空所画面((ベクター<ストリング>>リスト)。;
int主要(()。
{{
//最初の文字列ベクトルを宣言します
ベクター<ストリング>>list1{{'html'、'css'、'javascript'、「ブートストラップ」};
// 2番目の文字列ベクトルを宣言します
ベクター<ストリング>>list2{{'php'、「java」、'python'、「bash」、'perl'};
費用<<'list1の値:';
画面((list1)。;
費用<<'list2の値:';
画面((list2)。;
// list1の先頭にlist2の値を挿入します
list1。入れる((list1。始める(()。、list2。始める(()。、list2。終わり(()。)。;
費用<<'list2を挿入した後のlist1の値:';
画面((list1)。;
戻る 0;
}
//ベクトルを表示します
空所画面((ベクター<ストリング>>リスト)。
{{
//ループを使用してベクトルの値を出力します
にとって((自動彼=リスト。始める(()。;彼!=リスト。終わり(()。 ;彼++)。
費用 << *彼<< '';
//新しい行を追加します
費用 << 'NS';
}
出力:
上記のコードを実行すると、次の出力が表示されます。ベクトルの値は、出力に3回出力されています。
結論:
このチュートリアルでは、insert()関数を使用して、ベクトルの任意の位置に1つ以上の要素を挿入する方法を、複数の例を使用して示しました。このチュートリアルを読んだ後、C ++コーダーがベクターのinsert()関数を適切に使用することを願っています。