#include <iostream>
#include <string>
#include <map>
#include <vector> using namespace std; //根据空格等将字符串,拆分成多个单词。
vector<string> split(const string& s)
{
vector<string> ret;
typedef string::size_type string_size;
string_size i=; while(i!=s.size())
{
while(i!=s.size() && isspace(s[i]))
{
++i;
}
string_size j=i;
while(j!=s.size() && !isspace(s[j]))
{
++j;
}
if(i!=j)
{
ret.push_back(s.substr(i,j-i));
i=j;
}
}
return ret;
} //得到一个单词为键,所在行的序列为值的一个关联容器集合
map<string,vector<int> > xref(istream & in,vector<string> find_words(const string&)=split)
{
string line;
int line_number=; map<string,vector<int> > ret; while(getline(in,line)) //读取分隔每一行的输入
{
++line_number;
vector<string> words=find_words(line);//找每一行单词的集合。 for(vector<string>::const_iterator it=words.begin();it!=words.end();++it)
{
ret[*it].push_back(line_number); //*it:一个单词
}
}
return ret;
} int main()
{
map<string ,vector<int> > ret=xref(cin);
for(map<string,vector<int> >::const_iterator it=ret.begin();it!=ret.end();++it)
{
cout<<it->first <<"在行:"; //输出一个单词
vector<int>::const_iterator line_it=it->second.begin();
cout<<*line_it; ++line_it;
while(line_it!=it->second.end())
{
cout<<","<<*line_it;
++line_it;
}
cout<<endl;
}
return ;
}

最新文章

  1. 【CentOS】安装RPM包或者源码包
  2. 海淘手表Invicta8926OB到手~晒图
  3. 浅谈Scrapy爬虫(一)
  4. Django model 中meta options之 abstract
  5. 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 &amp;&amp; 检查一个字符串是文本还是二进制
  6. AIDL:Binder invocation to an incorrect interface
  7. 关于使用工具类org.apache.commons.collections.ListUtils合并List的问题
  8. 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(一)
  9. unity 打包 windows 运行 紫色 粉红色
  10. 2014 ACM省赛总结
  11. 密钥public/private key登陆linux
  12. 游戏服务器h2engine架构优化和跨平台设计
  13. HTML 练习on方法
  14. Django项目部署在Linux下以进程方式启动
  15. 洛谷 P1823 音乐会的等待
  16. [BJOI 2018]求和
  17. Java线程和多线程(十四)——Synchronized关键字解析
  18. 超简便安装mysql
  19. java项目环境搭建
  20. 【Swift】- UITextField完成输入后关闭软键盘的几种方法

热门文章

  1. JavaScript高级程序设计:第十四章
  2. 矩阵快速幂——将运算推广到矩阵上HDU 1575
  3. Underscore.js 的模板功能介绍与应用
  4. liunx 内存文件 tmpfs
  5. MySQL源码安装(centos)
  6. asp发邮件控件
  7. 关于Winform中的用户代理
  8. CodeForces 510B DFS水题
  9. Python 文件Hash(MD5,SHA1)
  10. CodeForces 670 A. Holidays(模拟)