C++中的字典庫
回答
struct Dictionary {
Dictionary() {
// load _words, here's one possible implementation:
std::ifstream input ("/usr/share/dict/words");
for (std::string line; getline(input, line);) {
_words.insert(line);
}
}
bool contains(std::string const& word) const { return _words.count(word); }
std::set<std::string> _words;
};
如果你有一個現代的C++編譯器或訪問Boost,那麼使用std :: tr1 :: unordered_set比std :: set會更快。 – Manuel 2010-02-06 07:01:01
@曼努埃爾:不一定,但即使是這樣,也沒有理由相信這對他很重要。保留自動排序的std :: set是有好處的,因爲你可以使用lower/upper_bound。謹防過早優化並聲明「更快」,而不需要1)要求或2)速度測試。 – 2010-02-06 14:51:13
@Roger:我做了一些測試來支持我的觀點。對於包含58000個字的字典,查找單個字需要的平均時間爲0.6微秒,tr1 :: unordered_set爲0.8微秒,std :: set爲0.8微秒。以下是您感興趣的代碼:http://pastie.org/812479。所以是的,我想這畢竟沒有太大的區別。 – Manuel 2010-02-06 16:41:39
如果你有一個文件中的單詞列表,你可以加載它們在一個std:map並使用find方法。
一個std :: set或std :: tr1 :: unordered_set就足夠了。 – Manuel 2010-02-06 07:01:52
這可能是矯枉過正,但你可以使用GNU Aspell library。
- 1. C#詞典中的字典
- 2. 有沒有C的字典庫?
- 3. C#在字典中添加字典
- 4. C#字典HashSet的
- 5. 的toString字典C#
- 6. C#字典 - 給定的關鍵字不存在於字典中
- 7. c#limited字典
- 8. 在字典C#
- 9. C#`字典
- 10. C#字典ContainsKey
- 11. C#字典
- 12. C++字典?
- 13. c#Webspider字典
- 14. 如何檢查字典中的字典的關鍵存在C#
- 15. 回到C#中的字典內的字典
- 16. 添加到字典中c#
- 17. 在C中迭代字典#
- 18. 字典中的字典
- 19. C#將字典中的值替換爲另一個字典
- 20. 編輯C#中另一個字典的字典
- 21. C#在字典中搜索字典的最快方法
- 22. C#字典鍵作爲字典
- 23. 包含在C#中的字典中#
- 24. 基礎目標-c:帶數組的字典;用字典詞典
- 25. JavaScript中的翻譯字典庫
- 26. WinRT類庫中的資源字典
- 27. 數據庫中的Symfony i18n字典
- 28. 在c#中將字典轉換爲字典中的字符串<字符串,字典<string,int>>?
- 29. C++優先字典
- 30. C#字典與ReaderWriterLockSlim
你的意思是你需要一個有效的詞典(如牛津英語詞典)和支持代碼,你可以用它來編寫一個程序來檢查有效的單詞嗎? – 2010-02-05 23:11:46