Я пытаюсь поместить коды и имена ascii в вектор списков: В идеале, что бы это было:
97: "удивительный", "все",
98: "лучший", "бум", "бомба",
99: "кошка"
у меня есть
class index_table
{
public:
index_table() { table.resize(128);}
void insert(string &, int);
private:
class entry { //Subclass
string word;
vector <int> line;
}
vector< list <entry > > table;
Итак, как я могу правильно поместить эти слова и номер ascii в вектор списков?
В основном я пробовал какой-то синтаксис, но он не работает:
void index_table :: insert ( string & word, int num) //This is the code for "cat" and "99"
{
entry obj;
//This is the part I'm not sure about. How do I enter each word and num into the vector < list < entry >> table
}
Надеюсь, я сделал это достаточно ясно. Подводя итог, я смущен тем, как работает таблица <list <entry>>. Вернее, как я смогу правильно хранить в нем свои номера и слова?
Вы ищете структуру данных для хранения следующих данных:
ID ~> список объектов entry
ID ~> другой список...
Однако следующий тип table
был неправильным решением:
vector< list <entry > > table;
Если эти числа действительно уникальны, было бы гораздо разумнее использовать std::map
:
std::map<int, std::list<entry> > table;
или в С++ 11 даже std::unordered_map