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

C++STLのlist::pop_front()およびlist ::pop_back()


この記事では、C++STLでのlist::pop_front()関数とlist ::pop_back()関数の動作、構文、および例について説明します。

STLのリストとは何ですか?

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

forward_list ::pop_front()とは何ですか?

list ::pop_front()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。 pop_front()は、リストの先頭にある要素をポップ/削除するために使用されます。この関数を使用すると、すでにコンテナにある最初の要素が削除され、最初の要素の次の要素がリストコンテナの最初の要素になり、コンテナのサイズが1つ減少します。

構文

list_container1.pop_front ();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は何も返しません。

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_front();
Output:
      List = 11 13 15

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.front());
      myList_1.pop_front();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

出力

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

Elements in the list are : 10 20 30 40 50

list ::pop_back()とは何ですか?

list ::pop_back()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。 pop_back()は、リストコンテナの後ろまたは最後から要素を削除/ポップするために使用されます。 pop_backを使用すると、最後の要素と、最後の要素が最後の要素になる前の要素が削除/ポップされ、リストコンテナのサイズが1つ縮小されます。

構文

list_container.pop_back();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は何も返しません。

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_back();
Output:
      List = 10 11 13

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.back());
      myList_1.pop_back();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

出力

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

Elements in the list are : 50 40 30 20 10

  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();