リスト オブジェクトの配列へのポインターを宣言、作成、および操作するために必要な構文に苦労しています。チェーンを使用して衝突を処理するコース割り当て用のハッシュ テーブル テンプレート クラスを作成しています。
私のハッシュテーブルが想定されている方法は、list
オブジェクトの配列です。std::list
割り当てに使用できる唯一の標準ライブラリ データ クラスなので、vector は使用できません。
私の質問は次のとおりです: std::list の配列へのポインターを宣言するにはどうすればよいですか? 私は持っている:
private:
std::list<T> * table;
配列を作成するにはどうすればよいですか? 私は持っている:
table = new std::list<T>[3]; // start with table size 3
宣言と構成は正しいと思いますが、100% 確実ではありません。最後に、リストを操作するにはどうすればよいですか? 私が持っている:
for (int i = 0; i < _tableSize; i++) { // _tableSize is the array's size
if (!table[0][i].empty()) {
table[0][i].push_back(thing);
}
}
どういうわけか table[0][i] がtable
指す配列のセルにアクセスするのが間違っているようです。それはどのように見えるべきですか?