#include<set>
#include<iostream>
using namespace std;
int main()
{
int i;
int ia[5] = { 0, 1, 2, 3, 4 };
set<int> iset(ia, ia + 5);
cout << "size=" << iset.size() << endl;
cout << "3 count=" << iset.count(3) << endl;
iset.insert(3);
cout << "size=" << iset.size() << endl;
cout << "3 count=" << iset.count(3) << endl;
iset.insert(5);
cout << "size=" << iset.size() << endl;
cout << "3 count=" << iset.count(3) << endl;
iset.erase(1);
cout << "size=" << iset.size() << endl;
cout << "3 count=" << iset.count(3) << endl;
cout << "1 count=" << iset.count(1) << endl;
set<int>::iterator ite1 = iset.begin();
set<int>::iterator ite2 = iset.end();
for (; ite1 != ite2; ++ite1)
cout << *ite1;
cout << endl;
//使用STL算法find()来寻找元素,可以有效运作,但不是好办法
ite1 = find(iset.begin(), iset.end(), 3);
if (ite1 != iset.end())
cout << "3 found" << endl;
//面对关联式容器,应该使用提供的find函数来搜寻元素,会比使用STL算法的find()更有效率,因为STL算法find()只是循序搜寻
ite1 = iset.find(3);
if (ite1 != iset.end())
cout << "3 found" << endl;
}
STL源码分析set
最新推荐文章于 2023-05-05 20:20:46 发布