日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下练习 c++ 容器set、multimset的特性

發(fā)布時間:2023/12/20 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下练习 c++ 容器set、multimset的特性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

print.h

//print.h#include <iostream>using namespace std;#ifndef print_fun#define print_funtemplate<typename T>///顯示序列數(shù)據(jù)void print(T b,T e,char c=' '){bool isExit=false;while (b!=e){cout<<*b++<<c;isExit=true;}if(isExit) cout<<endl;}template<typename K,typename V>ostream& operator<<(ostream& o,const pair<K,V>& p)//重載輸出map類型元素{return o<<p.first<<':'<<p.second;}#endif


?

set.cpp

/*set特性元素就是key=value不允許重復(fù)*/#include<set>#include<iostream>using namespace std;#include<string>#include<fstream> #include"print.h"int main(){set<string> ss;//定義容器string s;//ifstream fin("maillist.txt");if(!fin){return 1;}while(fin>>s) ss.insert(s);print(ss.begin(),ss.end());}

結(jié)果:

?

?

multiset.cpp

/*set特性元素就是key=value允許重復(fù)key*/#include<set>#include<iostream>using namespace std;#include<string>#include<fstream>#include<map> #include"print.h"int main(){multiset<string> ms;string s;ifstream fin("maillist.txt");if(!fin){return 1;}while(fin>>s) ms.insert(s);print(ms.begin(),ms.end());multiset<string>::iterator ib=ms.begin(),ie;multimap<int,string> mis;while(ib!=ms.end()){mis.insert(make_pair(ms.count(*ib),*ib));//排好序的一段ib=ms.upper_bound(*ib);}print(mis.begin(),mis.end());return 0;}

?

maillist.txt??

ppp1@qq.comppp2@qq.comppp3@qq.comppp2@qq.comppp2@qq.comppp1@qq.comppp1@qq.com



?

結(jié)果:

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/pukuimin/archive/2012/10/26/2988088.html

總結(jié)

以上是生活随笔為你收集整理的linux下练习 c++ 容器set、multimset的特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。