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

C ++STLのforward_listemplace_after()およびemplace_front()


与えられたのは、c++でのforward_list::emplace_after()およびforward_list ::emplace_front()関数の動作を示すタスクです。

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

forward_list ::emplace_after()およびforward_list ::emplace_front()関数は、c++標準ライブラリの一部です。

forward_list ::emplace_after()関数は、引数内で位置が指定されている要素の後に、リスト内に新しい要素を挿入するために使用されます

forward_list ::emplace_front()関数は、リストの先頭に要素を挿入するために使用されます。

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

forward_list ::emplace_after()

構文

Forward_List_Name.emplace_after(iterator , element);

パラメータ

関数は2つのパラメーターを受け入れます-

イテレータ 、イテレータには、新しい要素を配置する必要がある位置が含まれています。

要素 、配置する必要のある要素が含まれています。

戻り値

この関数は、転送リスト内に配置された新しい要素を指すイテレータを返します。

forward_list ::emplace_front()

構文

Forward_List_Name.emplace_front(element);

パラメータ

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

戻り値

関数は何も返しません。

Input: 11,34,56
Output: 41 11 34 56

説明

ここでは、要素11、34、56を使用して転送リストLtを作成しました。次に、転送リストの先頭に新しい要素を挿入するために使用されるemplace_front()関数を呼び出しました。ここでは、その要素は41です。

したがって、転送リストを印刷すると、生成される出力は41 11 34 56であり、最初の要素は41です。

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

  • 最初にリストを作成し、int型の「Lt」と言って値を割り当てます。
  • 次に、関数emplace_front()を呼び出して、リストの先頭に新しい要素を配置します。
  • 次に、autoタイプのオブジェクトを作成します。これは、新しい要素が配置されるemplace_after()位置に渡される位置を格納するイテレータとして機能する「itr」と言います。リストの最後に場所を指定します。
  • 次に、emplace_after()関数を呼び出して、指定された位置に要素を入力します。最初の引数はリスト内の位置を指定するイテレータ「itr」であり、2番目の引数はその位置に配置される要素である必要があります。

アルゴリズム

Start
Step 1->In function main()
   Initialize forward_list<int> Lt={}
   Call function Lt.emplace_front()
   Initialize auto itr=Lt.end();
   Call Lt.emplace_after(itr , element)
   End
Stop

#include<iostream>
#include<list>
using namespace std;
int main() {
   forward_list<int> Lt = { 5,6,7,8 };
   //Using the emplace_front() function to place element at the beginning.
   Lt.emplace_front(3);
   auto itr = Lt.end();
   /*Using the emplace_after() function to place an element after the location specified*/
   Lt.emplace_after(itr , 10)
   //Displaying the list
   for(auto itr = Lt.begin() ; itr!=Lt.end ; itr++)
   cout<<” *itr ”<<” ”;
   return 0;
}

出力

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

3 5 6 7 8 10

  1. C ++ STLのcrbegin()およびcrend()関数を一覧表示します

    与えられたのは、C ++でのリストcrbegin()およびcrend()関数の動作を示すタスクです。 list ::crbegin()およびlist ::crend()関数は、C++標準テンプレートライブラリの一部です。 これらの関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 list ::crbegin() この関数は、リストの逆の開始となるリストの終了要素を指す定数イテレータを返します。リストのバックトラックには使用できますが、リストの値を変更することはできません。つまり、crbegin()関数は反復にのみ使用できます。 構文 List_Name.c

  2. C ++ STLの配列get()関数?

    このセクションでは、C ++ STLの配列のget()関数について説明します。この関数は、配列コンテナのi番目の要素を取得するために使用されます。構文は次のようになります- 構文 get<i> array_name この関数は2つの必須パラメーターを取ります。はインデックスパラメータです。配列のi番目の位置を指すために使用されます。 2番目の引数はarray_nameです。これは、このi番目の要素から取得される実際の配列です。この関数はi番目の要素を返します。 アイデアを得るための1つの例を見てみましょう。 例 #include<iostream> #include