• multimap-rend


    ////////////////////////////////////////
    //      2018/05/06 9:13:38
    //      multimap-rend
    
    // returns a reverse iterator to the beginning of the maltimap
    #include <iostream>
    #include <map>
    #include <iomanip>
    #include <string>
    
    using namespace std;
    
    template<class T>
    class ID{
    public:
        ID(T t, T n) :id(t), name(n){}
        void print(){
            cout.setf(ios::left);
            cout << setw(15) << name << " " << id << endl;
            cout.unsetf(ios::left);
        }
    private:
        T id, name;
    };
    
    int main(){
        typedef ID<string> ld;
        typedef multimap<int, ld> M;
        typedef M::value_type v_t;
    
        M m;
        m.insert(v_t(1,ld("000123","Shevchenko")));
        m.insert(v_t(2,ld("000124","Pushkin")));
        m.insert(v_t(3,ld("000125","Shakespeare")));
    
        // same key
        m.insert(v_t(3,ld("000126","Smith")));
    
        M::reverse_iterator lt = m.rbegin();
    
        while (lt != m.rend()){
            cout.setf(ios::left);
            cout << setw(3) << lt->first;
            lt->second.print();
            lt++;
        }
        return 0;
    }
    
    /*
    OUTPUT:
        3  Smith           000126
        3  Shakespeare     000125
        2  Pushkin         000124
        1  Shevchenko      000123
    */ 
  • 相关阅读:
    1.Lucene
    docker 安装常用服务
    docker 常用命令
    05-vue中使用样式
    04-vue的事件修饰符
    03-用基本指令实现跑马灯效果
    02-vue基本指令
    01-vue分层概念MVVM
    Redis-持久化机制
    BigDecimal工具类
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537820.html
Copyright © 2020-2023  润新知