我正在創建一種非常粗糙的hashtable
。它將讀取一個ASCII文本文件,並將所有單詞存儲在一個鏈表中以及該單詞被找到的行號上。它使用單詞的第一個字母的數字值來查找存儲該單詞的列表,然後在該列表中搜索該單詞的任何條目,如果未找到任何條目,則向該列表添加新條目,否則將行號碼到匹配的條目。我只是不知道如何初始化vector
。它需要128個列表(每個ASCII值一個)。如何初始化對象列表的向量。混淆我知道
另外請注意,我不能夠使用std::map
我知道有INTS的載體,你可以做vector<int> vector_name(128,0)
獲得128名所有值爲0的條目基本上我想這樣做,但128空列表entry
's。
這裏是我的代碼到目前爲止
#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;
}
我會用地圖,其實這是一個分配和它有如何存儲數據,這些具體說明。 –
初始化或分配?哪個版本的C++?現代C++支持初始化,較老的C++在矢量初始化時很麻煩。 –
我想你可以使用'std :: vector>'它在迭代時應該像'std :: map '一樣工作。 –
Havenard