typedef map<int,int>::value_type valType这个语句什么意思?
#include<iostream>#include<map>#include<vector>#include<algorithm>usingnamespacestd;t...
#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
typedef pair<int,int> PAIR; //typedef为改名,用PAIR代替 pair<int,int>
//pair模板可以存储两个值
typedef map<int,int>::value_type valType;
//value_type是容器内部的一个typedef
struct CmpByValue{
bool operator/*重载运算符*/()(const PAIR& lhs/*左参数*/, const PAIR& rhs/*右参数*/) {//当()两边都是PAIR类型时调用后面这个函数
bool result;
if(lhs.second == rhs.second){
result = lhs.first < rhs.first;
}else {
result= lhs.second > rhs.second;
}
return result;
}
};
int main(){
int n;
cin>>n;
int arr[1000] = {0};
map<int,int> countMap;
for(int i=0;i<n;i++){
int value;
cin>>value;
arr[i]=value;
++countMap[value];
}
vector<PAIR> valueVector(countMap.begin(),countMap.end());
sort(valueVector.begin(),valueVector.end(),CmpByValue());
for (int i = 0; i != valueVector.size(); ++i) {
cout<<valueVector[i].first<<" "<<valueVector[i].second<< endl;
}
return 0;
}
在这个代码中typedef map<int,int>::value_type valType这个语句什么意思? 展开
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
typedef pair<int,int> PAIR; //typedef为改名,用PAIR代替 pair<int,int>
//pair模板可以存储两个值
typedef map<int,int>::value_type valType;
//value_type是容器内部的一个typedef
struct CmpByValue{
bool operator/*重载运算符*/()(const PAIR& lhs/*左参数*/, const PAIR& rhs/*右参数*/) {//当()两边都是PAIR类型时调用后面这个函数
bool result;
if(lhs.second == rhs.second){
result = lhs.first < rhs.first;
}else {
result= lhs.second > rhs.second;
}
return result;
}
};
int main(){
int n;
cin>>n;
int arr[1000] = {0};
map<int,int> countMap;
for(int i=0;i<n;i++){
int value;
cin>>value;
arr[i]=value;
++countMap[value];
}
vector<PAIR> valueVector(countMap.begin(),countMap.end());
sort(valueVector.begin(),valueVector.end(),CmpByValue());
for (int i = 0; i != valueVector.size(); ++i) {
cout<<valueVector[i].first<<" "<<valueVector[i].second<< endl;
}
return 0;
}
在这个代码中typedef map<int,int>::value_type valType这个语句什么意思? 展开
1个回答
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询