過去に、ノードを使用してリンクされたリストを実装しました。
標準ライブラリ リストのいくつかのプロパティを見ていますが、イテレータと適切なメンバー関数があります。
リスト内の反復子とは正確には何ですか? それらはノードポインタですか?
ベクターの場合、基本的に要素の型へのポインターがあり、データ構造はその特定の型の基になる動的配列に基づいて構築されます。
リストの場合、ノードのシーケンス、ノードの配列にすぎないようです。イテレータは、ノード データ型へのポインタではなく、ノード ポインタですか?
基本的に私が求めているのは、ベクトルにこのイテレータがあるかどうかです:
tyepdef T* iterator;
リストのイテレータは
typedef node* iterator;
ノードは次のようなものです。
template <class T> struct node {
node() { next = 0; }
node(T i, node* n = 0) : data(i), next(n) {}
node* next;
T data;
}
この場合、逆参照などの操作をオーバーロードする必要があるようです。