通常遍历map, vector等时,我们都是用index或者迭代器,但是c++11提供的auto可用于更好的遍历,类似于Java中的for each.
auto本身是一种自动匹配类型的工具。能够自动确定数据类型。
详细参见:auto
这里用其来遍历,非常好用,如遍历vector和unordered_map:
int a[] = {1, 1, 1, 2, 5, 5, 4, 4, 3, 7, 7, 3};
int a_size = sizeof(a) / sizeof(int);
vector<int> fre(a, a+a_size);
unordered_map<int, int> m;
priority_queue<PAIR, vector<PAIR>, cmp_val> test;
for(auto x: fre) m[x]++;
for(auto x: m){
cout<<x.first<<" "<<x.second<<endl;
test.push({x.second, x.first});
//if(test.size() > 3) test.pop();
}