c++ multimap的几个insert插入元素简单例子
生活随笔
收集整理的這篇文章主要介紹了
c++ multimap的几个insert插入元素简单例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <string>
#include <iostream>
#include <list>
#include <vector>
#include <set>
#include <map>
#include <fstream>
using namespace std;
void print(const multimap<string,string> &);
//程序作用:統計一些作者出版的書籍
int main(int argc,char **argv)
{
ifstream in(argv[1]);
multimap<string,string> author;
multiset<string> s1;
string str_key,str_value;
while(in >> str_key && in >> str_value){//multimap的insert的返回類型是 指向map元素(pair)的一個迭代器multimap<string,string>::iterator pos= author.insert(pair<string,string>{str_key,str_value});cout <<"\tpair first:"<< pos->first << endl;cout << "\tpair second:" << pos->second << endl;}
print(author);return 0;
}
void print(const multimap<string,string> &m)
{
for(auto i : m){ cout << "author is:"<< i.first << endl;cout << "\t book:" << i.second << endl;}}
執行結果是:
?
?
下面一個程序是統計單詞出現順序的:
#include <string> #include <iostream> #include <list> #include <vector> #include <set> #include <map> #include <fstream> using namespace std; void print(const map<string,size_t> &); void word_count(map<string,size_t> &,const char *); int main(int argc,char **argv) {map<string,size_t> word_cnt; word_count(word_cnt,argv[1]); print(word_cnt);return 0;}//統計單詞出現的次數 void word_count(map<string,size_t> &w,const char *file_name) { string str; ifstream in(file_name); while(in >> str){//下面的3句可以改成1句,具體看下一個程序auto re = w.insert(map<string,size_t>::value_type{str,1}); if(!re.second)++ re.first ->second;} } //打印map對象 void print(const map<string,size_t> &w) { map<string,size_t>::const_iterator it; for(it = w.begin(); it != w.end();++it){cout << "word:" << it->first << " occurs " <<it->second << " times;" << endl;} } #include <string> #include <iostream> #include <list> #include <vector> #include <set> #include <map> #include <fstream> using namespace std; void print(const map<string,size_t> &); void word_count(map<string,size_t> &,const char *); int main(int argc,char **argv) { map<string,size_t> word_cnt; word_count(word_cnt,argv[1]); print(word_cnt);return 0;}void word_count(map<string,size_t> &w,const char *file_name) { string str; ifstream in(file_name); while(in >> str){ //前一個程序這個塊中是3句,現在變成1句了,功能是一樣的++ w.insert({str,0}).first->second;} } void print(const map<string,size_t> &w) { map<string,size_t>::const_iterator it; for(it = w.begin(); it != w.end();++it){cout << "word:" << it->first << " occurs " <<it->second << " times;" << endl;} }?
總結
以上是生活随笔為你收集整理的c++ multimap的几个insert插入元素简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pygame中Rect(left, to
- 下一篇: c现代方法 13章程序设计题 自己编写答