统计单词频率--map
2024-09-27 05:06:19
问题描述:
输入一个单词列表,每行一个单词,统计单词出现的频率
思路:
主要是使用c++中的map容器。map实质上是一个二叉查找树,可以做到插入、删除、查询,平均查询时间在O(logn)。n为map中元素的个数,将字符串数据插入到map后,再用迭代器去访问map中的元素时,其实是按照map中插入的字符串的字典序进行访问的。
map可以建立任意两种数据类型的关系,形式为map<type1,type2>map1。type1表示键key,type2表示值value。键是用来进行索引。
源代码:
#include <iostream>
#include <string>
#include <map>
using namespace std; int main()
{
string word; //输入单词
int amount = ; //单词总数
map<string, int> word_count;
while(cin>>word)
{
word_count[word]++;
amount++;
}
cout.setf(ios::fixed);//以定点形式表示浮点数
cout.precision();//设置小数部分的有效数字
map<string, int>::iterator it = word_count.begin();
while( it != word_count.end())
{
double rate =*(double) it->second / amount;
cout << it->first << " "<< rate <<"%"<<endl;
it++;
}
return ;
}
最新文章
- 嵌入式Linux学习笔记(0)基础命令。——Arvin
- Android使用SQLite数据库(2)
- Spring--Spring容器
- 学习使用vim,熟悉Linux
- 一致性hash和solr千万级数据分布式搜索引擎中的应用
- windows下如何使用makefile编译
- 关于android软键盘enter键的替换与事件监听
- html在图片上实现下雨效果
- OpenGL ES 2.0 摄像机与投影
- python基础学习05(核心编程第二版)部分
- ASP.NET MVC 阻止当前请求的视图页面缓存OutputCache
- iphone手机中对于html和css的一些特殊处理
- ado.net的简单数据库操作(一)
- MFC应用技术之CTreeControl的使用
- Python之随机梯度下降
- 1-3Controller之Response
- H5 边框:带border的百分比布局
- JavaScript之String总汇
- 001.DNS原理及配置格式
- JavaScript语言简介