C++STLのlist::emplace_front()およびlist ::emplace_back()
この記事では、C++STLでのlist::emplace_front()およびlist ::emplace_back()関数の動作、構文、および例について説明します。
STLのリストとは何ですか?
リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。 Listは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返すことができます。
list ::emplace_front()とは何ですか?
list ::emplace_front()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。 emplace_front()は、リストコンテナの先頭に要素を配置(挿入)するために使用されます。コンテナが空の場合、要素は最初の位置にプッシュされ、要素が最初の要素になります。コンテナが事前に要素を持っている場合、関数は、渡された要素を前面に挿入し、既存の要素を最初の位置に挿入します。 2番目の要素になります。この関数は、コンテナのサイズを1つ増やします。
構文
listname.emplace_front (const value_type& element1); listname.emplace_front (value_type&& element1);
パラメータ
この関数は、配置/挿入される要素を1つだけ受け入れます。
戻り値
この関数は何も返しません。
例
Input: list<int> mylist = {1, 2, 3, 4}; mylist.emplace_front(0) Output: List elements are = 0 1 2 3 4
例
#include <iostream> #include <list> using namespace std; int main(){ list<int> List; List.emplace_front(10); List.emplace_front(20); List.emplace_front(30); List.emplace_front(40); List.emplace_front(50); List.emplace_front(60); cout<<"Elements are : "; for(auto i = List.begin(); i!= List.end(); ++i) cout << ' ' << *i; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Elements are : 60 50 40 30 20 10
list ::emplace_back()とは何ですか?
list ::emplace_back()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。 emplace_back()は、リストコンテナの後ろまたは最後に要素を配置(挿入)するために使用されます。コンテナが空の場合、要素を挿入するだけで、コンテナが事前に要素を持っている場合、コンテナのサイズは1になります。関数は、リストコンテナの最後に渡された要素を挿入します。この関数は、コンテナのサイズを1つ増やします。
構文
listname.emplace_back(const value_type& element1); listname.emplace_back(value_type&& element1);
パラメータ
この関数は、配置/挿入される要素を1つだけ受け入れます。
戻り値
この関数は何も返しません。
例
Input: list<int> list1 = {1, 2, 3, 4}; list1.emplace_back(5); Output: List: 1 2 3 4 5
例
#include <iostream> #include <list> using namespace std; int main(){ list<int> List; List.emplace_back(10); List.emplace_back(20); List.emplace_back(30); List.emplace_back(40); List.emplace_back(50); List.emplace_back(60); cout<<"elements are : "; for(auto i=List.begin(); i!= List.end(); ++i) cout << ' ' << *i; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Elements are : 10 20 30 40 50 60
-
C ++ STLのcrbegin()およびcrend()関数を一覧表示します
与えられたのは、C ++でのリストcrbegin()およびcrend()関数の動作を示すタスクです。 list ::crbegin()およびlist ::crend()関数は、C++標準テンプレートライブラリの一部です。 これらの関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 list ::crbegin() この関数は、リストの逆の開始となるリストの終了要素を指す定数イテレータを返します。リストのバックトラックには使用できますが、リストの値を変更することはできません。つまり、crbegin()関数は反復にのみ使用できます。 構文 List_Name.c
-
C ++ STLのcbegin()およびcend()関数を一覧表示します
与えられたのは、C++でのlist::cbegin()およびlist::cend関数の動作を示すタスクです。 list ::cbegin()およびlist ::cend()関数は、C++標準テンプレートライブラリの一部です。 これらの関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 list ::cbegin() この関数は、リストの最初の要素を指す定数イテレータを返します。リストをトラバースするために使用できますが、リスト内の値を変更することはできません。つまり、cbegin()関数は反復にのみ使用できます。 構文 List_Name.cbegin();