0
我想使用類型爲string
的列表數組來製作不同種類的哈希表。因此,我創建:列表<string>的數組,插入一個字符串表現怪異
list<string> hashtableFold[arraysize];
list<string> hashtableSelect[arraysize];
在散列函數,position
被計算,然後傳遞到一個相當簡單的插入函數:其中
Hash::insert(Hash::hashtableFold, position, contents);
的代碼是:
void Hash::insert(list<string> whichList[arraysize], int pos, string contents) {
whichList[pos].push_back(str);
}
但是,如果我打印hashtableFold
(使用下面的代碼),tabl e是空的:(。
void Hash::print(list<string> whichList[arraysize]) {
//loop over array
for (int i = 0; i < arraysize; i++) {
cout << i << ": ";
list<string>::iterator k;
//loop over list
if (whichList[i].empty()) {
cout << "empty";
} // if
else for (k = whichList[i].begin(); k != whichList[i].end(); k++)
cout << *k << " | ";
cout << endl;
} // for
}
這裏怎麼回事?
對於有興趣,這裏是完整的源代碼:https://dl.dropboxusercontent.com/u/9844620/ds4.zip
太棒了!謝謝。但是,現在名單充滿了空字符串..:p https://www.dropbox.com/s/bltf9eqisnsz09y/Screenshot%202013-11-23%2015.54.24.png –
那麼正如我所說,假設沒有其他錯誤。 – john
;)將進入那個。謝謝! –