• std::multiset


    Set、multiset都是集合类,
    差别在与set中不允许有重复元素,
    multiset中允许有重复元素。
    sets和multiset内部以平衡二叉树实现。
     
    multiset 多重集合容器是一个可容纳重复元素键值的有序关联容器。
    与 set 容器一样,使用红黑树作为容器的内部数据结构,元素的搜索操作都是具有对数级的算法时间复杂度。
    它的 find 和 equal_range 函数,可搜索出某一键值下的所有元素位置。
     
    multiset 缺点:和
    set 一样,如果 插入、删除 操作频繁了,multiset 就不适合。 multiset 优点:相对于 set ,它能插入重复的元素。当然,它的检索速度也是非常快的。
     
    遍历 multiset 容器元素
    multiset<int>::iterator i, iend;
    iend = ms.end();
    for (i=ms.begin(); i!=iend; ++i)
    cout << *i << ' ';
    反向遍历 multiset 容器
    multiset<int>::reverse_iterator ri, riend;
    riend = ms.rend();
    for (ri=ms.rbegin(); ri!=riend; ++ri)
    cout << *ri << ' ';
    find 搜索元素 
    multiset<int>::reverse_iterator ri, riend;
    riend = ms.rend();
    for (ri=ms.rbegin(); ri!=riend; ++ri)
    cout << *ri << ' ';
    equal_range 搜索元素 
    v = 13;
    pair<multiset<int>::iterator, multiset<int>::iterator> p = ms.equal_range(v);
    重复键值元素 
    multiset<int>::iterator j;
    cout << "键值为" << v << "的所有元素为:";
    for (j=p.first; j!=p.second; ++j)
    cout << *j << ' ';




    
    
     
  • 相关阅读:
    数据库基础-INDEX
    LINQ教程
    NPOI导出EXCEL
    WPF数据双向绑定
    WPF控件数据单项绑定
    HelloWorld IL代码
    Python基础教程(英文视频教学)
    ado.net的5个主要对象
    Linux学习-0627
    C#中Abstract和Virtual
  • 原文地址:https://www.cnblogs.com/osbreak/p/9207543.html
Copyright © 2020-2023  润新知