Ex11_7.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例11.7】整型多重集合关联容器类的演示。 
  2. #include<iostream>
  3. #include<set>         //包含集合头文件
  4. #include<algorithm>         //包含算法头文件
  5. using namespace std;                        //C++标准库名字空间域
  6. typedef multiset<int> INTMS;        //特例取名INTMS,整型多重集合按升序排列
  7. int main(){
  8. const int size=16;
  9. int a[size]={17,11,29,89,73,53,61,37,41,29,3,47,31,59,5,2};
  10. INTMS intMultiset(a,a+size); //用a来初始化INTMS容器实例
  11. ostream_iterator<int> output(cout," ");
  12.               //整型输出迭代子output,可通过cout输出一个用空格分隔的整数
  13. cout<<"这里原来有"<<intMultiset.count(17)<<"个数值17"<<endl;//查找有几个关键字17
  14. intMultiset.insert(17);                                    //插入一个重复的数17
  15. cout<<"输入后这里有"<<intMultiset.count(17)<<"个数值17"<<endl;
  16. INTMS::const_iterator result; //const_iterator使程序可以读取INTMS的元素,
  17.                         //但不让程序修改它的元素,result为INTMS的迭代子
  18. result=intMultiset.find(18);//找到则返回所在位置,设找到返回与调end()返回的同样值
  19. if(result==intMultiset.end()) cout<<"没找到值18"<<endl;
  20. else cout<<"找到值18"<<endl;
  21. cout<<"intMultiset容器中有"<<endl;
  22. copy(intMultiset.begin(),intMultiset.end(),output);        //输出容器中全部元素
  23. cout<<endl;
  24. return 0;
  25. }