面试题 统计文件中出现的单词及单词所在的行(C++ STL实现)
来源:互联网 发布:怎么用网络看电视 编辑:程序博客网 时间:2024/05/16 02:22
编译环境:VC6.0
代码很简单 就不添加注释了 呵呵
#include <IOSTREAM>#include <STRING>#include <VECTOR>#include <UTILITY>#include <MAP>#include <FSTREAM>using namespace std;int main(int argc,char **argv){if(argc<2){perror("WRONG PARAMETERS!\n");return -1;}string file_name = argv[1];fstream fp(file_name.c_str(),ios::in);string line;map<string,vector<int> > mymap;int line_num = 0 ;while(getline(fp,line)){line_num ++ ;while(!line.empty()){string substr;if(line.find(' ')==0){line=line.substr(1);continue;}if(line.find(' ')!=line.npos){char str1[200];memset(str1,0,200);memcpy(str1,line.c_str(),line.find(' '));line = line.substr(line.find(' '));substr.assign(str1);}else{substr = line;line="";}if(mymap.find(substr) != mymap.end()){map<string,vector<int> >::iterator it = mymap.find(substr);it->second.push_back(line_num);continue;}else{mymap.insert(make_pair(substr,vector<int>(1,line_num)));continue;}}}fp.close();for(map<string,vector<int> >::iterator it1 = mymap.begin();it1 != mymap.end();it1++){cout << it1->first<<"\t" <<ends;vector<int> vec = it1->second;for(vector<int>::iterator it2 = vec.begin();it2 != vec.end();it2++){cout << *it2 <<ends;}cout <<endl;}return 0;}
- 面试题 统计文件中出现的单词及单词所在的行(C++ STL实现)
- Linux命令经典面试题:统计文件中出现次数最多的前10个单词
- 统计文件中单词出现的频率
- 统计单词中出现的单词数
- 统计文件中每个单词的个数--C语言实现
- STL统计英文中单词出现频率的问题
- 统计英文文件中单词数和各单词出现的频率(次数)
- 统计文件中各单词出现的频率(二叉排序树实现)
- 统计文件中各单词出现的频率(Hash表实现)
- 通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计
- 统计文章内各个单词出现的次数 (STL)
- 查找文件中单词所在的段落
- 百度面试题 字符串中单词的逆转,即将单词出现的顺序进行逆转
- 统计文件中某个单词出现的次数
- 统计文件中某个单词出现的次数
- Hadoop 统计文件中某个单词出现的次数
- 统计输出某个文件中每个单词出现的次数
- 统计文件中每个单词的出现次数
- Web Service程序的改变对引用这个web service的程序的影响
- android图形图像编程-第一章 基础概念和数据结构
- Windows Phone 8 MDIL编译与代码混淆工具
- android中获得相对高的权限方法
- 人工智能及其先驱
- 面试题 统计文件中出现的单词及单词所在的行(C++ STL实现)
- 多线程
- SQL_CALC_FOUND_ROWS 与 FOUND_ROWS()
- gentoo stage4
- PHP接口示例程序
- ORACLE JOB INTERVAL参数设置
- install mysql 5.6 from binary on CentOS 6.4
- 统计在线人数
- MYSQL查询优化:使用索引