zoukankan      html  css  js  c++  java
  • STL

    MultiSet根据特定排序准则,自动将元素排序。
    MultiSet允许元素重复。
    一些常规操作:
    MultiSetTest.cpp

    #include <iostream>
    #include <set>
    #include <algorithm>
    #include <iterator>
    #include <functional>
    #include "MultiSetTest.h"
    
    using namespace std;
    
    void MultiSetTest::operationDemo()
    {
        // type of the collection:
        // - duplicates allowed
        // - elements are integral values
        // - descending order
        multiset<int, greater<int>> coll1;
    
        // insert elements in random order using different member functions
        coll1.insert({ 4, 3, 5, 1, 6, 2 });
        coll1.insert(5);
    
        // print all elements
        for (int elem : coll1) {
            cout << elem << ' ';
        }
        cout << endl;
    
        // insert 4 again and process return value
        auto ipos = coll1.insert(4);
        cout << "4 inserted as element "
            << distance(coll1.begin(), ipos) + 1 << endl;
    
        // assign elements to another multiset with ascending order
        multiset<int> coll2(coll1.cbegin(), coll1.cend());
    
        // print all elements of the copy using stream iterators
        copy(coll2.cbegin(), coll2.cend(),
            ostream_iterator<int>(cout, " "));
        cout << endl;
    
        // remove all elements up to element with value 3
        coll2.erase(coll2.begin(), coll2.find(3));
    
        // remove all elements with value 5
        int num;
        num = coll2.erase(5);
        cout << num << " element(s) removed" << endl;
    
        // print all elements
        copy(coll2.cbegin(), coll2.cend(),
            ostream_iterator<int>(cout, " "));
        cout << endl;
    }
    
    void MultiSetTest::run()
    {
        printStart("operationDemo()");
        operationDemo();
        printEnd("operationDemo()");
    }

    运行结果:

    ---------------- operationDemo(): Run Start ----------------
    6 5 5 4 3 2 1
    4 inserted as element 5
    1 2 3 4 4 5 5 6
    2 element(s) removed
    3 4 4 6
    ---------------- operationDemo(): Run End ----------------

  • 相关阅读:
    Swing-文本输入组件(一)
    JFrame常用属性设置模板
    Swing-BoxLayout用法-入门
    linux创建和查看用户命令
    elasticsearch,http://ip:9200访问不到的解决办法
    U盘制作Linux系统盘
    Linux中oracle的安装,亲测
    Linux中yum的安装
    Linux中oracle安装时候报ora-00119解决办法
    eclipse中多个工程编译到同一个目录下
  • 原文地址:https://www.cnblogs.com/davidgu/p/4899951.html
Copyright © 2011-2022 走看看