如何填写列表矢量?

时间:2013-10-14 18:10:03

标签: c++ list vector

我试图将ascii代码和名称放入列表向量中:理想情况是这样:

97:"棒极了","所有"

98:"最佳" ,"繁荣","炸弹"

99:" cat"

我有

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

}

希望我说得够清楚。总而言之,我对如何使用矢量&lt;列表&lt;进入&gt; &GT;表工作。或者更确切地说,我如何正确地将我的数字和单词存储在其中?

1 个答案:

答案 0 :(得分:0)

您正在寻找数据结构来保存以下内容:
ID〜&gt; entry个对象列表
ID〜&gt;另一份清单......

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

vector< list <entry > > table;

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

会更明智
std::map<int, std::list<entry> > table;

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