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

【C++】STLのlist::push_back()関数の使い方を徹底解説

本記事では、C++のlist::push_back()関数の仕組み、構文、および具体的な使用例について詳しく解説します。

STLにおけるlistとは

listは、シーケンス内の任意の位置で定数時間での挿入・削除を可能にするデータ構造です。listは双方向連結リスト(doubly linked list)として実装されており、非連続的なメモリ割り当てを行います。そのため、配列やvector、dequeと比較して、コンテナ内の任意の位置への要素の挿入・抽出・移動において優れたパフォーマンスを発揮します。

一方で、listは要素への直接アクセス(ランダムアクセス)が遅いという弱点もあります。また、listはforward_listとよく似ていますが、forward_listは単方向連結リストであり、前方方向にしか走査できない点が大きな違いです。

list::push_back()とは

list::push_back()は、C++標準テンプレートライブラリ(STL)に組み込まれた関数で、<list>ヘッダー内で宣言されています。push_back()は、指定した要素をlistコンテナの末尾に挿入するために使用され、呼び出すたびにコンテナのサイズが1つ増加します。

構文

list_name.push_back(ele);

この関数は引数を1つだけ受け取ります。引数には、list_nameコンテナの末尾に挿入したい要素を指定します。

戻り値

この関数は戻り値を返しません。単に要素をlistコンテナの末尾へ挿入するだけの動作を行います。

使用例

#include<bits/stdc++.h>
using namespace std;
int main(){
    // リストを作成
    list<int> myList;
    // 初期状態のリストサイズを表示
    cout<<"リストのサイズ: "<<myList.size()<<endl;
    // リストへ要素を挿入
    myList.push_back(1);
    myList.push_back(2);
    myList.push_back(3);
    // 要素挿入後のリストサイズを表示
    cout<<"要素挿入後のリストのサイズ: "<<myList.size();
    return 0;
}

出力結果

上記のコードを実行すると、以下のような出力が得られます。

リストのサイズ: 0
要素挿入後のリストのサイズ: 3

このように、push_back()を使うことで空のlistに対して簡単に要素を末尾から順番に追加できることがわかります。要素を先頭に追加したい場合はpush_front()を使用するので、用途に応じて使い分けるとよいでしょう。

  1. C++ STLのlist::reverse()関数の使い方と実例解説

    本記事では、C++におけるlist::reverse()関数の動作、構文、具体的な使用例について詳しく解説します。STLにおけるlistとはlistは、シーケンス内の任意の位置で定数時間O(1)での要素の挿入・削除を可能にするデータ構造です。listは双方向連結リストとして実装されており、メモリの非連続的な割り当てが可能です。配列、vector、dequeと比較すると、コンテナ内の任意の位置への要素の挿入・抽出・移動において優れたパフォーマンスを発揮します。一方で、要素への直接アクセス(ランダムアクセス)は遅いという特徴があります。listはforward_listと似ていますが、forwar

  2. C++STLのlist back()関数の使い方を解説

    C++のlist back()関数とは本記事では、C++におけるlist back()関数の動作について詳しく解説します。list::back()関数は、C++標準テンプレートライブラリ(STL)の一部であり、リストの最後(末尾)の要素を取得・表示するために使用されます。この関数を呼び出す前に、必ず<list>ヘッダーファイルをインクルードする必要がある点に注意してください。構文List_Name.back();パラメータこの関数は、いかなるパラメータも受け取りません。戻り値この関数は、リストの最後の要素の値を返します。なお、リストが空の場合の動作は未定義となるため、呼び出し前にリ