set公共函数
来源:互联网 发布:wps数据有效性 编辑:程序博客网 时间:2024/06/05 07:28
#include <iostream>#include <set>using namespace std;bool fncmp(const int&i,const int &j){return i<j;}struct classcmp{public: bool operator()(const int&i,const int&j)const {return i<j;}};int main(){ //begin cout<<"--begin"<<endl; int array[]={12,354,55,677,33}; set<int> beginset(array,array+5); cout<<"beginset:"; set<int>::iterator beginsetit; for(beginsetit=beginset.begin(); beginsetit!=beginset.end(); ++beginsetit) cout<<" "<<*beginsetit; cout<<endl; //clear cout<<"--clear"<<endl; set<int>clearset; clearset.insert(1); clearset.insert(12); clearset.insert(13); cout<<"before clearset:"; for(set<int>::iterator it=clearset.begin(); it!=clearset.end();++it) cout<<" "<<*it; cout<<endl; clearset.clear(); clearset.insert(22); clearset.insert(332); clearset.insert(44422); cout<<"after clearset:"; for(set<int>::iterator it=clearset.begin(); it!=clearset.end();++it) cout<<" "<<*it; cout<<endl; //count cout<<"--count"<<endl; set<int>countset; for(int i=1;i<5;++i) countset.insert(i*2); for(int i=0;i<10;++i) { cout<<i; if(countset.count(i)==1) cout<<" is an member of set."<<endl; else cout<<"is not an member of set."<<endl; } //empty cout<<"--empty"<<endl; set<int>emptyset; emptyset.insert(10); emptyset.insert(20); emptyset.insert(30); cout<<"empty:"; while(!emptyset.empty()) { cout<<" "<<*emptyset.begin(); emptyset.erase(emptyset.begin()); } cout<<endl<<"emptyset size:"<<emptyset.size()<<endl; //equal_range cout<<"--equal_range"<<endl; set<int>equal_rangeset; cout<<"equal_rangeset:"; for(int i=1;i<10;++i) { cout<<" "<<i*3; equal_rangeset.insert(i*3); } cout<<endl; pair<set<int>::iterator,set<int>::iterator>equal_rangepair; equal_rangepair=equal_rangeset.equal_range(9); cout<<"lower bound points to:"<<*equal_rangepair.first<<endl; cout<<"upper bound points to:"<<*equal_rangepair.second<<endl; //earse cout<<"--earse"<<endl; set<int>eraseset; for(int i=0;i<10;++i) eraseset.insert(i*10);//0 10 20 30 40 50 60 70 80 90 set<int>::iterator eraseit=eraseset.begin(); eraseit++; eraseset.erase(eraseit);//erase 10 eraseset.erase(50);//erase 50 eraseit=eraseset.find(70); eraseset.erase(eraseit,eraseset.end());//erase(70 80 90) cout<<"eraseset:"; for(eraseit=eraseset.begin(); eraseit!=eraseset.end(); ++eraseit) cout<<" "<<*eraseit; cout<<endl; //insert cout<<"--insert"<<endl; set<int>insertset; for(int i=1;i<=5;++i) insertset.insert(i*10);//10 20 30 40 50 pair<set<int>::iterator,bool>insertpair; insertpair=insertset.insert(20); set<int>::iterator insertsetit; if(insertpair.second==false) insertsetit=insertpair.first;// it points to 20 insertset.insert(insertsetit,25); // max efficiency inserting insertset.insert(insertsetit,24); // max efficiency inserting insertset.insert(insertsetit,26); //no max efficiency inserting cout<<"insertsetit:"<<*insertsetit<<endl; cout<<"insertset:"; for(insertsetit=insertset.begin(); insertsetit!=insertset.end(); ++insertsetit) cout<<" "<<*insertsetit; cout<<endl; //compare cout<<"--compare"<<endl; set<int>compareset; set<int>::key_compare comparefun=compareset.key_comp(); set<int>::iterator compareit; for(int i=0;i<5;++i) compareset.insert(i); cout<<"compareset:"; int height=*compareset.end(); compareit=compareset.begin(); while(comparefun(*compareit++,height)) cout<<" "<<*compareit; cout<<endl; //lower_bound cout<<"--lower_bound"<<endl; set<int>boundset; set<int>::iterator it,lowerit,upperit; for(int i=0;i<10;++i) boundset.insert(i*10); lowerit=boundset.lower_bound(20); cout<<"lowerit:"<<*lowerit<<endl;//20 upperit=boundset.upper_bound(60); cout<<"upperit:"<<*upperit<<endl;//70 boundset.erase(lowerit,upperit);//0 10 70 80 90 cout<<"boundset:"; for(it=boundset.begin(); it!=boundset.end(); ++it) cout<<" "<<*it; cout<<endl; //operate cout<<"--operate="<<endl; set<int>opset1,opset2; int oparray[]={10,44,666,312}; opset1.insert(oparray,oparray+4); opset2=opset1; opset1=set<int>(); cout<<"opset1 size:"<<opset1.size()<<endl; cout<<"opset2 size:"<<opset2.size()<<endl; //rbegin cout<<"--rbegin"<<endl; set<int>rbeginset; int rbeginarray[]={12,34,44,666}; rbeginset.insert(rbeginarray,rbeginarray+4); cout<<"rbeginset:"; for(set<int>::iterator it=rbeginset.begin(); it!=rbeginset.end(); ++it) cout<<" "<<*it; cout<<endl; cout<<"reverse rbeginset:"; for(set<int>::reverse_iterator it=rbeginset.rbegin(); it!=rbeginset.rend(); ++it) cout<<" "<<*it; cout<<endl; //set set<int>firstset; int setarray[]={10,230,44,66666,1}; set<int>secondset(setarray,setarray+5); set<int>thirdset(secondset); set<int>fourth(secondset.begin(),secondset.end()); set<int,classcmp>fifthset; bool (*fn_t)(const int&,const int&)=fncmp; set<int,bool(*)(const int&,const int&)>sixthset(fn_t); // return 0;}
阅读全文
0 0
- set公共函数
- set函数
- HDU 5927 Auxiliary Set 最近公共祖先
- delphi 公共函数
- Delphi公共函数(四)
- Delphi公共函数 (三)
- 常用公共函数
- JS的公共函数
- PHP常用公共函数
- 公共函数单元
- 公共函数收集
- Yii使用公共函数
- 常用公共函数
- 常用公共函数收集
- shell公共函数functions
- JavaScript公共验证函数
- ThinkPHP 公共函数整理
- laravel 公共函数
- {转}Android点击两次Back键退出当前程序
- 迭代器
- C++ 11:delete关键词和一条《Effective C++》的过时条款
- nginx服务器配置支持https
- 4.15 反编译和文档生成器(略)
- set公共函数
- resultType和resultMap的区别
- 数据库学习笔记2
- 读《我编程,我快乐》——程序员职业规划之道
- 模块驱动添加字符设备驱动
- [TensorFlow学习手记] 3
- mybatis查询如何返回List<Map>类型数据
- 4.16 jar文件(略)
- 结尾非零数的奇偶性