码迷,mamicode.com
首页 > 其他好文 > 详细

编程珠玑:单词频率最高选取

时间:2015-03-09 11:04:33      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

对一个输入文本中的每个单词的出现次数统计,并选取出现频率最大的10个单词

#include <iostream>   
#include <stdlib.h>   
#include <string>   
#include <map>   
#include <vector>   
#include <algorithm>  
  
using namespace std; 

typedef pair<string, int> PAIR;

int cmp(const PAIR& x, const PAIR& y)
{
    return x.second > y.second;
}

  
int main()  
{  
    map<string, int> wordcount;  
 
    
    vector<PAIR>  vec;
    vector<PAIR>::iterator itr;
  
    string t;  
    while((cin >> t) && t != "0")  
    {  
        wordcount[t]++;  
    }  
  
    
    for (map<string,int>::iterator curr = wordcount.begin(); curr != wordcount.end(); ++curr)
    {
        vec.push_back(make_pair(curr->first, curr->second));
    }
    
    sort(vec.begin(), vec.end(), cmp);
    
    for(itr = vec.begin(); itr != vec.end(); itr++)  
    {  
        cout << itr->first << "   " << itr->second<<endl;  
    }
      
    system("pause");  
}  
技术分享

编程珠玑:单词频率最高选取

标签:

原文地址:http://blog.csdn.net/u014082714/article/details/44150855

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!