C++对中文文本文件进行词频统计及排序
要求:提取1998年人民日报第一期的字词,并对其词频进行从高到低的排序。(初生牛犊,如有不足,请谅解)
代码及注释:
#include<iostream>
#include<string>
#include<vector>//顺序容器
#include<algorithm> //算法(algorithm)
#include<time.h>
using namespace std;
typedef struct T_WORD //定义一个新的结构类型,起名为T_WORD,因为该项目每个字词有两个信息要记录,一是字词本身,二是字词出现的次数,所以用结构体
{
string strWord; //字词
int freq; //频率
}MyWord;
class FileProcess
{
public:
FileProcess(string src,string dst);
void ProcessFile();//声明读取文件的函数
void PushVector(string str);//声明压缩所有词的函数
void WriteFile();//声明写入文件的函数
void Split(char *pstr, char *pword);//声明分割字符串的函数
static bool cmp(const MyWord &word1, const MyWord &word2);//声明词频由高到低排序的函数
private:
vector <MyWord>m_vector;//向量
string strfilesrc; //路径输入
string strfiledst; //路径输出
string str;};
FileProcess.cpp文件
#include "pch.h"
#include "FileProcess.h"
//