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 ----------------

  • 相关阅读:
    UVA 10600 ACM Contest and Blackout(次小生成树)
    UVA 10369
    UVA Live 6437 Power Plant 最小生成树
    UVA 1151 Buy or Build MST(最小生成树)
    UVA 1395 Slim Span 最小生成树
    POJ 1679 The Unique MST 次小生成树
    POJ 1789 Truck History 最小生成树
    POJ 1258 Agri-Net 最小生成树
    ubuntu 用法
    ubuntu 搭建ftp服务器,可以通过浏览器访问,filezilla上传文件等功能
  • 原文地址:https://www.cnblogs.com/davidgu/p/4899951.html
Copyright © 2011-2022 走看看