我正在创造一种非常粗糙的hashtable
. 它将读取一个 ASCII 文本文件并将所有单词连同找到该单词的行号一起存储到一个链表表中。它使用单词的第一个字母的数值来查找存储单词的列表,然后在列表中搜索单词的任何条目,如果没有找到,则将新条目添加到列表中,否则添加行号到匹配的条目。
我只是不知道如何初始化一个vector
. 它需要 128 个列表(每个 ASCII 值一个)。
另请注意,我无法使用std::map
我知道使用整数向量可以vector<int> vector_name(128,0)
得到 128 个值均为 0 的条目。我本质上想这样做,但有 128 个空列表entry
。
这是我到目前为止的代码
#include <iostream>
#include <vector>
#include <cstdlib>
#include <string>
#include <list>
#include <algorithm>
using namespace std;
class index_table {
public:
void insert(string key, int value);
vector<int>& find(string key);
private:
class entry{
public:
string word;
list<int> line_numbers;
};
vector<list<entry> > table;
};
int main(){
return 0;
}