📄 dictionary.h
字号:
/* Text Clustering Copyright (C) 2004 Debora "Barbara" Donato, Antonio Gulli This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef DICTIONARY#define DICTIONARY 1#include <string>#include <map>#include <iterator>#include <iostream>using namespace std;typedef unsigned int dict_id;/* * an abstract class used as base for dictionary * any dictionary should inherith it (a good dictionary should compress) */class dictionary{public: dictionary(){}; virtual ~dictionary(){}; /** * add: add a word to the dictinary * * @param string w , the string to add */ virtual dict_id add(string w) = 0; /** * sortDictionary: sort the dictionary * * @param string w , the string to add */ virtual void sortDictionary(void) = 0; /** * get: get a word form dictionay * * @param string w , the string to add * * @return int, the int id associated in dictionary */ virtual dict_id get(string& w) = 0; /** * printDictionary: ditto */ virtual void printDictionary(void) = 0;};/* * an class used as simple hash based dictionary * this is a no-compression dictionary */class simpleDictionary: public dictionary{private: map<string, dict_id> dict; dict_id lastWordCounter;public: simpleDictionary() : lastWordCounter(0){}; ~simpleDictionary(){}; dict_id add(string w); void sortDictionary(void); dict_id get(string& w); void printDictionary(void); inline map<string, unsigned int>::iterator begin() { return dict.begin();} inline map<string, unsigned int>::iterator end() { return dict.end();}};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -