13-11
#include "stdafx.h"
#include <iostream>
#include <set>
using namespace std;
void main()
{
multiset<char> cmultiset1; //建立集合1
cmultiset1.insert('C');//向集合1 插入元素
cmultiset1.insert('D');
cmultiset1.insert('A');
cmultiset1.insert('F');
cout << "multiset1:" << endl;
multiset<char>::iterator it;
for(it=cmultiset1.begin();it!=cmultiset1.end();it++)//显示集合1中元素
cout << *it << endl;
multiset<char> cmultiset2;//建立集合2
cmultiset2.insert('B');//向集合2 插入元素
cmultiset2.insert('C');
cmultiset2.insert('D');
cmultiset2.insert('A');
cmultiset2.insert('F');
cout << "multiset2:" << endl;
for(it=cmultiset2.begin();it!=cmultiset2.end();it++)//显示集合2中元素
cout << *it << endl;
if(cmultiset1==cmultiset2)
cout << "multiset1= multiset2";
else if(cmultiset1 < cmultiset2)
cout << "multiset1< multiset2";
else if(cmultiset1 > cmultiset2)
cout << "multiset1> multiset2";
cout << endl;
}
13-2
#include <iostream>
#include <map>
using namespace std;
void main()
{
map<int ,char> cMap; //创建map映射对象
cMap.insert(map<int,char>::value_type(1,'B')); //插入新元素
cMap.insert(map<int,char>::value_type(2,'C'));
cMap.insert(map<int,char>::value_type(4,'D'));
cMap.insert(map<int,char>::value_type(5,'G'));
cMap.insert(map<int,char>::value_type(3,'F'));
cout << "map" << endl;
map<int ,char>::iterator it; //循环map映射显示元素值
for(it=cMap.begin();it!=cMap.end();it++)
{
cout << (*it).first << "->";
cout << (*it).second << endl;
}
}
13-13
#include <iostream>
#include <map>
using namespace std;
void main()
{
map<int,char> cMap; //创建map映射对象
cMap[1]='B'; //插入新元素
cMap[2]='C';
cMap[3]='D';
cMap[4]='G';
cMap[5]='F';
cout << "map" << endl;
map<int ,char>::iterator it; //循环映射对象中的元素,并显示值
for(it=cMap.begin();it!=cMap.end();it++)
{
cout << (*it).first << "->";
cout << (*it).second << endl;
}
}
13-14
#include <iostream>
#include <map>
using namespace std;
void main()
{
map<int ,char> cMap; //创建map映射对象
cMap.insert(map<int,char>::value_type(1,'B')); //插入新元素
cMap.insert(map<int,char>::value_type(2,'C'));
cMap.insert(map<int,char>::value_type(4,'C'));
cMap.insert(map<int,char>::value_type(5,'G'));
cMap.insert(map<int,char>::value_type(3,'F'));
cout << "map" << endl;
map<int ,char>::iterator it; //循环map映射显示元素值
for(it=cMap.begin();it!=cMap.end();it++)
{
cout << (*it).first << "->";
cout << (*it).second << endl;
}
}
13-15
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
void main()
{
multiset<int , less<int> > intSet;
intSet.insert(7);
intSet.insert(5);
intSet.insert(1);
intSet.insert(5);
intSet.insert(7);
cout << "Set:" << " ";
multiset<int , less<int> >::iterator it =intSet.begin();
for(int i=0;i<intSet.size();++i)
cout << *it++ << ' ';
cout << endl;
cout << "第一次匹配:";
it=adjacent_find(intSet.begin(),intSet.end());
cout << *it++ << ' ';
cout<< *it << endl;
cout << "第二次匹配:";
it=adjacent_find(it,intSet.end());
cout << *it++ << ' ';
cout << *it << endl;
}
13-16
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
void main()
{
multiset<int ,less<int> > intSet;
intSet.insert(7);
intSet.insert(5);
intSet.insert(1);
intSet.insert(5);
intSet.insert(7);
cout << "Set:";
multiset<int ,less<int> >::iterator it =intSet.begin();
for(int i=0;i<intSet.size();++i)
cout << *it++ << ' ';
cout << endl;
int cnt =count(intSet.begin(),intSet.end(),5);
cout << "相同元素数量:" << cnt <<endl;
}
13-17
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
multiset<int ,less<int> > intSet;
intSet.insert(7);
intSet.insert(5);
intSet.insert(3);
cout << "Set:";
for_each(intSet.begin(),intSet.end(),Output);
cout << endl;
}
13-18
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<int > intVect;
for(int i=0;i<10;++i)
intVect.push_back(i);
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
fill(intVect.begin(),intVect.begin()+5,0);
cout << endl;
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
cout << endl;
}
13-19
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<int > intVect;
for(int i=0;i<10;++i)
intVect.push_back(i);
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
random_shuffle(intVect.begin(),intVect.end());
cout << endl;
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
}
13-20
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
bool equals5(int val)
{
return val==5;
}
void main()
{
vector<int > intVect;
intVect.push_back(7);
intVect.push_back(3);
intVect.push_back(5);
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
partition(intVect.begin(),intVect.end(),equals5);
cout << endl;
cout << "Vect :";
for_each(intVect.begin(),intVect.end(),Output);
cout << endl;
}