写一个程序统计在某篇英文文本中各个不同的单词出现的次数,按出现次数为序,由多到少输出这些不同的单词(如果单词出现次数相同,按字母序)。假设不相同的字母串就是不同的单词(如认为book和books是不同的单词);假设由间隔符(如空格、回车换行符、标点)间隔的字母串就是单词;假设文本中无缩写。文本存放在某个文件中,文件名由用户输入。请先描述有关数据结构和算法,再尝试编写程序。

解决方案 »

  1.   

    use std::map<std::string,int>
      

  2.   

    masterz(MS MVP)
    终于看到vc板的老大了!!masterz(MS MVP)
    终于看到vc板的老大了!!masterz(MS MVP)
    终于看到vc板的老大了!!masterz(MS MVP)
    终于看到vc板的老大了!!
      

  3.   

    map是什么东西呀?好用吗?
    我自己的方法是:
      先建一个散列表,在读取文件时,每读出一个单词,就按单词的每个字母的ascii码的积将单词散列到表中,这个表记录了单词和出现的次数。文件读完后,再生成一个数组,将散列表中的项按出现次数排序。再将这个数组打印出来。
      

  4.   

    都可以吧,不过实现起来use std::map<std::string,int>可能简单些.