dictionary.h

来自「聚类分析程序 k-means 编译环境 gcc/stl」· C头文件 代码 · 共 91 行

H
91
字号
/*    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 + =
减小字号Ctrl + -
显示快捷键?