重载map排序(降序)及结构体新的赋值方式

// map.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <map>

using namespace std;
typedef pair<string, int> mine;

struct MyStruct
{
    int a,b,c;
    MyStruct() :a(0), b(0), c(0){     //注意此种方法的赋值和类的赋值很像
    
    }
    MyStruct(int a, int b, int c) :a(a), b(b), c(c){     //注意此种方法的赋值和类的赋值很像

    }
    bool operator < (const MyStruct &other) const{
        return a > other.a;
    }

}MyStruct1(10,2,3),MyStruct2(7,5,6),MyStruct3;
typedef map<MyStruct, int> com;
int _tmain(int argc, _TCHAR* argv[])
{
    com ap;
    com::iterator it;
    ap.insert(com::value_type(MyStruct1, 5));
    ap.insert(com::value_type(MyStruct2, 9));
    ap.insert(com::value_type(MyStruct3, 10));
    //ap.insert(mine(300, 12));
    for (it = ap.begin(); it != ap.end();it++)
    {
        //it++;
        cout << "key:" << "\t" << it->first.a << "\t" <<it->first.b  << "\t" <<it->first.c << "\t";
        cout<< "value:" << it->second << endl;
    }
    getchar();
    return 0;
}


posted @ 2017-08-29 11:07  倾耳听  阅读(511)  评论(0编辑  收藏  举报