STL set,mulityset用法

#include<iostream>
#include <set>
using namespace std;
template <class T>
class RuntimeCmp
{
public:
    enum cmp_mode {normal,reverse};
private:
    cmp_mode m_mode;
public:
    RuntimeCmp(cmp_mode m = normal):m_mode(m){};
    bool operator () (const T& t1,const T& t2) 
    {
        return m_mode == normal ? t1 < t2 : t1>t2;
    }
    bool operator == (const RuntimeCmp& rc)
    {
        return m_mode = rc.m_mode;
    }
};

typedef std::set<int,RuntimeCmp<int>> IntSet;

int _tmain(int argc, int argv[])
{
    IntSet intSet;
    intSet.insert(3);
    intSet.insert(1);
    intSet.insert(4);
    int aa = 0;

} 

set是使用树结构来实现的。
原文地址:https://www.cnblogs.com/sdnyzhl/p/3533351.html