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

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

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

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

  2. C ++ STLのcbegin()およびcend()関数を一覧表示します

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