A.リストの例
#include <一覧> // 呼び出しシステムリスト、双方向円形のリンクリスト構造 用いて名前空間STD; INT メイン(ボイド) { リスト < INT > マイリスト; のための(INT I = 1。 ;私は= < 10 ; I ++は) { mylist.push_back (I); // インタフェースは、最後に追加 } リスト < INT ;> :: =イテレータITをmylist.begin()// イテレータ、 一方(!それは= mylist.end()) { COUT << << * IT " - > "; // 印刷内部デジタル
++ IT; } }
II。ソース・ラーニング
_NODE構造体;
_NODE * _Nodeptr構造体のtypedef; //ポインタがノードを入力します
構造体_NODE {// _ノードは、ノードタイプであります
_Nodeptr _PREV; //前駆体ノード
_Nodeptr _Next; //後続ノード
_Ty _value; //テンプレートデータの種類
}。
構造体_Acc {このタイプの//定義_ACC
_NODE *&_Nodepref構造体のtypedef; //ポインタは、参照のノードタイプに
typedefの_Ty&_Vref; //このデータ型の参照
静的_Nodepref _Next(_Nodeptr _P)//静的メソッドは、基準ノードポインタの値は、ノードのパラメータへのポインタで返します
{
リターン((_Nodepref)(* _ P)._次へ); // * _ P)(このノードで得られ、この場合、鋳造作業、復帰を行う、-next取るよう鋳造優先順位が高くありません。参照を指し示すノードポインタ。
}
静的_Nodepref _PREV(_Nodeptr _P)
{
リターン((_Nodepref)(* _ P)._前)。
}
静的_Vref _value(_Nodeptr _P)
{
リターン((_Vref)(* _ P)._値);}
}。
公共://以下のクラスタイプは、分周器の空間で、次の種類_A、_Aクラス定義されています
typedefの型名_A :: VALUE_TYPE VALUE_TYPE。
typedefの型名_A :: pointer_type pointer_type。
typedefの型名_A :: const_pointer_type const_pointer_type。
typedefの型名_A :: reference_type reference_type。
typedefの型名_A :: const_reference_type const_reference_type。
typedefの型名_A :: size_type size_type; //このタイプは、実際にsize_tprivateです。
_Nodeptr _Head、ヘッドノードを指すポインタ//
III。コンストラクタとデストラクタ
パブリック:
明示的なリスト():_ヘッド(_Buynode())、_サイズ(0)コンストラクタが呼び出される//明示的なディスプレイ、ヘッドを指し0を開始
{}
〜リスト()
{//この段階では気にしないし、宇宙と宇宙関連コンフィギュレータを解放。
消去((開始)、エンド()); //スペースを解放するために、関数の最後の開始を呼び出します。
_Freenode(_Head); //は頭を解放します。
_Head = 0、_Size = 0; // nullのオード。
}