zoukankan
html css js c++ java
c++ 从文件中读取字符串 按字典排序 并统计个数
#include <vector> #include <string> #include <algorithm> #include <iostream> #include <iterator> #include <map> #include <fstream> using namespace std; const int MAX_SIZE = 40; void GetWords(vector<string> &vec) { char str[ MAX_SIZE]; ifstream InFile("E:\\test.txt"); while(!InFile.eof()) { InFile.getline(str,MAX_SIZE); const char * split = ",* ;"; char * p; p = strtok (str,split); while(p!=NULL) { string str = p; vec.push_back(str); p = strtok(NULL,split); } } copy (vec.begin(),vec.end(),ostream_iterator<string>(cout," ")); } void SortWords( vector<string> &vec,map<string,int> &words) { vector<string>::iterator it = vec.begin(); for(it; it != vec.end(); ++it) { if(words.find(*it) != words.end() ) { int i = words[*it]; ++i; words[*it] = i; } else { words.insert(map<string,int>::value_type(*it,1)); } } } int _tmain(int argc, _TCHAR* argv[]) { vector<string> vec; map<string,int> words; GetWords(vec); SortWords( vec,words); cout<<endl<<"====After sort===="<<endl; map<string,int>::iterator mapit = words.begin(); for(mapit;mapit != words.end();++mapit) { cout<< mapit->first<<" "<<mapit->second<<endl; } return 0; }
查看全文
相关阅读:
【扫盲】i++和++i的区别
java 字符串String.intern()方法学习
随机访问和快速访问
Semaphore信号量深度解析
CyclicBarrier回环屏障深度解析
CountDownLatch深度剖析
静态代理和装饰者模式的区别
AspectJ之@DeclareParents注解为对象添加新方法
C#开发上位机常用
使用Charles进行抓包、篡改请求、设置代理
原文地址:https://www.cnblogs.com/dyufei/p/2573900.html
最新文章
联合索引、索引下推
sql update语句相关问题
raft(转)
Kafka中的HW、LEO、LSO等分别代表什么?
深入剖析Linux IO原理和几种零拷贝机制的实现(转)
SQL注入常见解决方式(转)
Sql注入基础原理介绍(转)
golang make和new
Golang 之 struct能不能比较(转)
android studio 新建NDK demo工程构建不成功问题记录
热门文章
PE文件头格式解析
从安卓的系统源码看动态加载分析(一代加固)
ollvm混淆的某apk题目的逆向分析
安卓开发 探究内容提供器
charles证书导入系统信任区(Android7.0以上)
BUU mrctf shit
buu SCTF Who is he
Android java层常见加密算法的hook自吐以及栈信息的打印
leetcode 面试题 17.22. 单词转换(DFS+回溯)
JVM通用参数模板
Copyright © 2011-2022 走看看