【温故知新】CとC++8:STLのリスト容器


STLが提供するlistコンテナは双方向チェーンテーブルの機能を実現している.したがってlistコンテナ内の各要素は双方向チェーンテーブルのノードであり,要素の挿入と削除は容易であるが,コンテナ内の要素をランダムにアクセスすることはできず,コンテナのヘッダまたはテールから遍歴しなければならない.listコンテナはシーケンス内の任意の位置で要素を削除するのに非常に効率的であり、必要に応じて任意に自分の容量の大きさを変更することができる.
1.list容器の定義:
リストオブジェクトを構築する方法については、STLではさまざまな構築方法が用意されています.
list<type> name;//       
list<type> name(size);//         size   
list<type> name(size, value);//         size,    value   
list<type> name(first, last);//     first last          

リストコンテナを使用するにはstlヘッダファイルを含める必要があります.
#include <list>

2.list容器の賦課:
vectorやdequeと同様にlistでは、push_front(),push_back(),pop_front()とpop_back().使用方法は前述の容器と類似しており,これ以上説明しない.
これに加えて、listはlistの要素を逆方向に格納する関数を定義します.
void reverse();

3.list容器の大きさ測定:
vectorおよびdequeコンテナと同様にlistは、size()、resize()およびmax_のコンテナサイズを測定する方法も提供する.size()は、コンテナの現在の要素の数を表示したり、コンテナの容量を再設定したり、コンテナが許容する最大容量を返したりするために使用されます.
4、返却方法:
それぞれ3つのグループがあります:front,back;begin,end; rbegin,rend;第1のグループのメソッドは、最初の要素の参照を返し、第2のグループのメソッドは、最初の反復器を返し、第3のグループは、最後と頭の逆反復器を返します.
5.listコンテナの要素へのアクセス:
listコンテナは線形にアクセスできないため、list内の要素にアクセスするには反復器の方法しかありません.
6、挿入と削除操作:
最初のpush操作とpop操作に加えて、insert、erase、clearメソッドが定義され、チェーンテーブルに要素を挿入したり、要素を削除したり、チェーンテーブルを空にしたりするために使用されます.