/*************************************************************************
> File Name: map2vec.cpp
> Author: chenhui
> Mail: *********
> Created Time: 2019年08月 5日 22:45:15
************************************************************************/
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <iterator>
using namespace std;
bool cmp(const pair<int, int> &p1, const pair<int, int> &p2)
{
return p1.second < p2.second;
}
int main()
{
map<int, int> m;
for(int i = 0; i < 10; ++i)
m[i] = i * -i;
vector<pair<int, int> > v;
copy(m.begin(), m.end(), back_inserter(v));
sort(v.begin(), v.end(), cmp);
for(int i = 0; i < v.size(); ++i)
cout << v[i].first << " : " << v[i].second << endl;
vector<pair<int,int> > v2(m.begin(), m.end());
for(int i = 0; i < v2.size(); ++i)
cout << v2[i].first << " : " << v2[i].second << endl;
vector<pair<int,int> > v3(m.size());
copy(m.begin(), m.end(), v3.begin());
for(int i = 0; i < v3.size(); ++i)
cout << v3[i].first << " : " << v3[i].second << endl;
return 0;
}