zoukankan      html  css  js  c++  java
  • STL

    Set根据特定排序准则,自动将元素排序。

    Set不允许元素重复。

    一些常规操作:

    SetTest.cpp

    #include <iostream>
    #include <set>
    #include <algorithm>
    #include <iterator>
    #include <functional>
    #include "SetTest.h"
    
    using namespace std;
    
    void SetTest::operationDemo()
    {
        // type of the collection:
        // - no duplicates
        // - elements are integral values
        // - descending order
        set<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 status = coll1.insert(4);
        if (status.second) 
        {
            cout << "4 inserted as element "
                << distance(coll1.begin(), status.first) + 1 << endl;
        }
        else 
        {
            cout << "4 already exists" << endl;
        }
    
        // assign elements to another set with ascending order
        set<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 3
        int num;
        num = coll2.erase(3);
        cout << num << " element(s) removed" << endl;
    
        // print all elements
        copy(coll2.cbegin(), coll2.cend(), ostream_iterator<int>(cout, " "));
        cout << endl;
    }
    
    void SetTest::run()
    {
        printStart("operationDemo()");
        operationDemo();
        printEnd("operationDemo()");
    }

    运行结果:

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

  • 相关阅读:
    关于MySQL5.6配置文件my-default.ini不生效问题
    jQuery学习总结(三)
    jQuery学习总结(二)
    jQuery学习总结(一)
    mysql输出到页面MVC模式
    简单的在jsp页面操作mysql
    mysql5.7的基本使用
    mysq5.7l的下载与配置
    jdk环境变量的配置
    SQL SERVER——给已有数据的表增加唯一值
  • 原文地址:https://www.cnblogs.com/davidgu/p/4899069.html
Copyright © 2011-2022 走看看