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

C ++ STLのフォワードリストassign()関数


与えられたのは、C++でのforward_listassign()関数の動作を示すタスクです。

forward_listは、次の要素および前の要素とのリンクを維持する通常のリストとは異なり、次の要素とのリンクのみを維持します。これは、順方向および逆方向の反復に役立ちます。ただし、forward_listは順方向にのみ反復できます。

forward_list ::assign()関数は、C++標準テンプレートライブラリの一部です。転送リスト内に要素を挿入するために使用され、リストにすでにいくつかの要素が含まれている場合、それらはユーザーによって追加された新しい要素に置き換えられます。

この関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。

構文

この関数の構文には3つのタイプがあります。それぞれ異なる方法のために-

  • Forward_list_name.assign(initializer_list);
  • Forward_list_name.assign(iterator itr1、iterator itr2);
  • Forward_list_name.assign(count、value);

パラメータ

Initializer_list −最初のケースでは、転送リストは、初期化リストとしてまったく同じ順序で渡される値を取得します。

イテレータ − 2番目のケースでは、フォワードリストは、イテレータitr1とitr2によってポイントされている値の間に含まれる値を取得します。これには、itr2ではなくitr1が指す値も含まれます。

カウントと値 − 3番目のケースでは、パラメータ「count」は転送リスト内に挿入される要素の数を示し、「value」は各要素に割り当てる必要のある値を示します。

新しい要素を配置する必要がある位置を表すpositionと、リスト内に挿入する必要がある要素を表すvalue。

戻り値

この関数は値を返しません。

Input: assign(5,1)
Output: 1 1 1 1 1

説明-

ここでは、int型の転送リスト「Lt」を作成しました。次に、assign関数を使用して、パラメーター count を使用してリストに値をassign()しました。 および

これにより、リスト「Lt」にそれぞれ値1の5つの要素が割り当てられ、出力1 1 111が生成されました。

以下のプログラムで使用されるアプローチは次のとおりです

  • 最初に、int型の3つのフォワードリストを作成します。「Lt1」、「Lt2」、「Lt3」としましょう。
  • 次に、assign()関数を使用して、パラメータとして初期化子リストを渡すLt1に要素を割り当てます。
  • 次に、割り当て関数を使用して、要素をLt2に割り当て、カウントと値をパラメーターとして渡します。
  • 次に、assign関数を使用して要素をLt3に割り当て、2つのイテレータをパラメータとして渡します。リストLt1の最初の位置と最後の位置をそれぞれ指していると仮定します。

アルゴリズム

Start
Step 1->In function main()
   Declare forward_lists<int> Lt1,Lt2,Lt3
   Call Lt1.assign(initialize list)
   Call Lt2.assign(count,value)
   Call Lt3.assign(L1.begin(),Lt2.end())
Stop

#include <forward_list>
#include <iostream>
using namespace std;
int main() {
   forward_list<int> Lt1;
   forward_list<int> Lt2;
   forward_list<int> Lt3;
   //assigning elements to Lt1
   Lt1.assign({4,9,7,8});
   //assigning elements to Lt2
   Lt2.assign(3,6);
   //assigning elements to Lt2
   Lt3.assign(Lt1.begin(),Lt1.end());
   // Display the lists
   cout << "Lt1: ";
   for (int& D : Lt1)
      cout << D << " ";
      cout << endl;
   // Display Lt2
      cout << "Lt2: ";
      for (int& D : Lt2)
         cout << D << " ";
   // Display Lt3
      cout << "Lt3: ";
      for (int& D : Lt3)
         cout << D << " ";
   return 0;
}

出力

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

Lt1: 4 9 7 8
Lt2: 6 6 6
Lt3: 4 9 7 8

  1. C++STLのリスト逆関数

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

  2. C ++STLのdequeassign()関数

    与えられたタスクは、C ++STLでのdeque::assign()の動作を示すことです。 Dequeは両端キューです。 C ++では、deque ::assign()は、新しい値をdequeコンテナに割り当てるために使用される組み込み関数です。この関数が呼び出されるたびに、既存の値を置き換え、それに応じて割り当てられたサイズを変更することにより、dequeコンテナに新しい値を割り当てます。 構文 deque ::assign()の構文は次のとおりです- dequename.assign(<int> size, <int> val) パラメータ この関数には2つの