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

C ++ STLのassign()関数を一覧表示します


C ++でのassign()関数の動作を示すタスクが与えられています。

list ::assign()関数は、C++標準テンプレートライブラリの一部です。これは、値をリストに割り当てたり、あるリストから別のリストに値をコピーしたりするために使用されます。

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

構文

新しい値を割り当てるための構文は次のとおりです-

List_Name.assign(size,value)

構文

あるリストから別のリストに値をコピーするための構文は次のとおりです-

First_List.assign(Second_List.begin(),Second_list.end())

パラメータ

関数は2つのパラメーターを取ります-

1つ目はサイズで、リストのサイズを表し、2つ目は値で、リスト内に格納されるデータ値を表します。

戻り値

関数には戻り値がありません。

Input: Lt.assign(3,10)
Output: The size of list Lt is 3.
The elements of the list Lt are 10 10 10.

説明

次の例は、assign()関数を使用してリストのサイズと値を割り当てる方法を示しています。リスト関数内で渡す最初の値はリストのサイズになります。この場合は3で、2番目の要素はリストの各位置に割り当てられる値です。ここでは10です。

Input: int array[5] = { 1, 2, 3, 4 }
Lt.assign(array,array+3)
Output: The size of list Lt is 3.
The elements of the list Lt are 1 2 3.

説明

次の例は、配列を使用してリストに値を割り当てる方法を示しています。リストに割り当てる要素の総数がリストのサイズになります。

ユーザーは、assign()関数内の最初の引数として配列の名前を渡すだけでよく、2番目の引数は配列の名前である必要があり、次に「+」記号の後にユーザーが必要な要素の数が続きます。リストに割り当てます。

上記の場合、3を書き込んだので、配列の最初の3つの要素がリストに割り当てられます。

配列に存在する要素の数よりも大きい数、たとえば6を書き込むと、プログラムはエラーを表示せず、代わりにリストのサイズが6になり、リスト内の追加の位置が割り当てられます。値はゼロです。

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

  • 最初に、リストの要素を表示する関数ShowList(list L)を作成します。
  • イテレータを作成します。たとえば、表示するリストの最初の要素を含むitrを作成します。
  • itrがリストの最後の要素に到達するまでループを実行します。
  • 次に、main()関数内で、list を使用して3つのリストを作成します。たとえば、L1、L2、L3とすると、int型の値を受け入れ、int型の配列を作成します。たとえば、arr[]と割り当てます。いくつかの値。
  • 次に、assign()関数を使用して、サイズといくつかの値をリストL1に割り当て、リストL1をShowDisplay()関数に渡します。
  • 次に、assign()関数を使用して、リストL1の要素をL2にコピーし、リストL2をShowList()関数に渡します。
  • 次に、assign()関数を使用して、配列arr []の要素をリストL3にコピーし、リストL3をDisplayList()関数に渡します。

アルゴリズム

Start
Step 1-> Declare function DisplayList(list<int> L) for showing list elements
   Declare iterator itr
   Loop For itr=L.begin() and itr!=L.end() and itr++
   Print *itr
   End
Step 2-> In function main()
   Declare lists L1,L2,L3
   Initialize array arr[]
   Call L1.assign(size,value)
   Print L1.size();
   Call function DisplayList(L1) to display L1
   Call L2.assign(L1.begin(),L1.end())
   Print L2.size();
   Call function DisplayList(L2) to display L2
   Call L3.assign(arr,arr+4)
   Print L3.size();
   Call function DisplayList(L3) to display L3
Stop

#include<iostream>
#include<list>
using namespace std;
int ShowList(list<int> L) {
   cout<<"The elements of the list are ";
   list<int>::iterator itr;
   for(itr=L.begin(); itr!=L.end(); itr++) {
      cout<<*itr<<" ";
   }
   cout<<"\n";
}
int main() {
   list<int> L1;
   list<int> L2;
   list<int> L3;
   int arr[10] = { 6, 7, 2, 4 };
   //assigning size and values to list L1
   L1.assign(3,20);
   cout<<"The size of list L1 is "<<L1.size()<<"\n";
   ShowList(L1);
   //copying the elements of L1 into L3
   L2.assign(L1.begin(),L1.end());
   cout<<"The size of list is L2 "<<L2.size()<<"\n";
   ShowList(L2);
   //copying the elements of arr[] into list L3
   L3.assign(arr,arr+4);
   cout<<"The size of list is L3 "<<L3.size()<<"\n";
   ShowList(L3);
   return 0;
}

出力

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

The size of list L1 is 3
The elements of the list are 20 20 20
The size of list L2 is 3
The elements of the list are 20 20 20
The size of list L3 is 4
The elements of the list are 6 7 2 4
>

説明

リストL1の場合、上記の出力を生成したassign()関数で、サイズを3、値を20としました。

次に、リストL1の要素をそのL2にコピーしました。これにより、L2は、出力で確認できるように、L1と同じサイズと値になります。

次に、assign関数を使用して、配列arr []のすべての要素をコピーし、L3のサイズを4に等しくし、その要素を出力の配列の要素と同じにしました。


  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つの