STL源码分析set

来源:互联网 发布:vm虚拟机安装mac 编辑:程序博客网 时间:2024/05/16 06:03
#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;}
原创粉丝点击