#include<iostream>
#include<string>
#include<vector>
#include<set>
//set不能重复,multiple可以重复
using namespace std;
//写一个函数用来描述set和muiltiset里边的数据
//把函数做成模板函数
template<typename Container>
void PrintContents(const Container &c);
int main()
{
//set和multiple速度非常快
//插入,删除,查找速度很快
set<int> a;
multiset<int> ma;
a.insert(60);
a.insert(-1);
a.insert(3);
a.insert(30);
a.insert(300);
//a不允许重复
cout << "显示set里边的数据:" << endl;
PrintContents(a);
//set<int>::const_iterator i = a.begin();
//while (i != a.end())
//{
// cout << *i <<endl;
// ++i;//插入之后会自动排序,set是一种红黑树
//}
ma.insert(60);
ma.insert(a.begin(), a.end());
ma.insert(3000);
ma.count(3000);//计算ma有几个3000
cout << "multiset里有几个3000::" << ma.count(3000) << endl;
//find查找和count
set<int>::iterator i=a.find(-1);//find的返回结果是一个迭代器
if (i != a.end())
cout << "找到了:" << *i << endl;
else
cout << "没找到" << endl;
//erase
cout << "a里有多少个数据" << a.size() << endl;
cout << "删除之前a里的数据是:" << endl;
PrintContents(a);
int e = 0;
cin >> e;
a.erase(e);
cout << "删除之后的数据是:" << endl;
PrintContents(a);
system("pause");
return 0;
}
template<typename Container>
void PrintContents(const Container &c)
{
Container::const_iterator i = c.begin();
while (i != c.end())
{
cout << *i << endl;
++i;
}
}
set集
猜你喜欢
转载自blog.csdn.net/weixin_42655231/article/details/82760517
今日推荐
周排行