2011-03-09 34 views
0

我想查看某些短語中單詞的出現次數。 我的問題是我不能使用地圖來做到這一點:不使用std :: map來計算短語中的單詞的問題

map[word] = appearnce++; 

相反,我有一個使用二叉樹和行爲像一個地圖的一類,但我只有方法:

void insert(string, int); 

有沒有一種方法可以用這個函數來計算單詞外觀?(因爲我無法找到一種方法來爲每個不同的單詞增加int)還是我必須爲類重載operator []?我該怎麼辦 ?

+1

是什麼'insert'如果字符串已經存在裏面做的appearnces? – Jon 2011-03-09 15:19:02

+0

是該值'map [word]'應該是它出現的次數嗎?'map [word] + = 1'應該工作,除非你不允許直接遞增 - 對不起,如果我不完全理解 – RageD 2011-03-09 15:20:32

+0

只能插入嗎?刪除?沒有得到?如果你得到這兩個,你可以「得到」「刪除」,「不rt「值+1。 – 2011-03-09 15:20:51

回答

2

大概你也有辦法從你的地圖狀結構中檢索數據(存儲數據沒什麼用,除非你也可以檢索它)。顯而易見的方法是檢索當前值,增加它並存儲結果(或者如果檢索顯示該值以前不存在,則存儲1)。

+0

嗯,現在爲什麼我不這麼想?謝謝 – Kobe 2011-03-09 15:22:50

1

我想這是作業,你正在學習二叉樹。在這種情況下,我會實現operator []以返回對現有值的引用(如果沒有值,則默認構造一個值,插入並返回該值。顯然,operator []將與insert方法非常類似。

+0

是的,它的功課,但它不是我的家庭作業,沒關係,它仍然是功課,是的,你的解決方案也是一種方式,謝謝。 – Kobe 2011-03-09 15:26:22

1

您可以編輯「插入」功能? 如果你能,你可以添加靜態變量,計數功能

+0

inteligent做到這一點,謝謝。 – Kobe 2011-03-09 15:28:05

相關問題