Как заполнить вектор списков?

0

Я пытаюсь поместить коды и имена 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>>. Вернее, как я смогу правильно хранить в нем свои номера и слова?

Теги:
list
vector

1 ответ

0

Вы ищете структуру данных для хранения следующих данных:
ID ~> список объектов entry
ID ~> другой список...

Однако следующий тип table был неправильным решением:

vector< list <entry > > table;

Если эти числа действительно уникальны, было бы гораздо разумнее использовать std::map:

std::map<int, std::list<entry> > table;

или в С++ 11 даже std::unordered_map

  • 0
    Они уникальны. Итак, как бы я тогда назвал векторную <list <entry>> таблицу?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню