#include<iostream>
#include<map>
using namespace std;
int a[110];
int main()
{
int s=0;
map<int,int>p;
for(int i=1;i<=5;i++)
cin>>a[i],p[a[i]]++;
map<int,int>::iterator it;
//不能使用p.begin()-1和p.end()-1
//begin和end支持"=="和"!="
//end位置没有存储信息,所以逆序输出需要从end-1开始
cout<<"逆序遍历\n";
it=p.end();
for(it--;;it--)
{
//map<键,值>
//first能获取map的键,second能获取map的值
cout<<it->first<<' '<<it->second<<endl;
if(it==p.begin()) break;
}
cout<<"------------------\n";
cout<<"正序遍历(两种方式)\n";
cout<<"第一种:\n" ;
for(it=p.begin();it!=p.end();it++)
{
cout<<it->first<<' '<<it->second<<endl;
}
cout<<"------------------\n";
cout<<"第二种:\n";
for(auto jt:p)
{
cout<<jt.first<<' '<<jt.second<<endl;
}
return 0;
}
/*
5 8 2 4 6
*/
map的正序遍历和逆序遍历
于 2023-07-13 09:51:00 首次发布