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

}

希望我说得足够清楚。总而言之,我对 vector < list < entry >> 表的工作方式感到困惑。或者更确切地说,我将如何正确存储我的号码和单词?

4

1 回答 1

0

您正在寻找包含以下内容的数据结构:
ID ~>entry对象列表
ID ~> 另一个列表...

然而,以下类型的table决定是错误的:

vector< list <entry > > table;

如果这些数字确实是唯一的,那么使用会更明智std::map

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

甚至在 C++11 中std::unordered_map

于 2013-10-14T18:14:19.320 回答