gpt4 book ai didi

c++ - map 操作(找到出现次数最多的元素)

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:14 26 4
gpt4 key购买 nike

这是代码

#include <iostream>
#include <map>
using namespace std;
int main(){
map<int ,int>a;
map<int,int>::iterator it;
int b[]={2,4,3,5,2,6,6,3,6,4};
for (int i=0;i<(sizeof(b)/sizeof(b[0]));i++){
++a[b[i]];
}
// for (it=a.begin();it!=a.end();it++){
// cout<<(*it).first<<" =>"<<(*it).second<<"\n";
//}
int max=a.begin()->second;
for (it=a.begin();it!=a.end();it++){
if ((*it).second>max){
max=(*it).second;
}
}
for (it!=a.begin();it!=a.end();it++){
if ((*it).second==max){
cout<<(*it).first<<"\n";
}
}




return 0;
}

我正在尝试的是根据每个键的出现次数来跟踪我希望它打印在这种情况下最常出现的元素 6 但它没有显示结果有什么错误?

最佳答案

您的第二个循环中有错字。这:

for (it!=a.begin();it!=a.end();it++){

应该是这样的:

for (it=a.begin();it!=a.end();it++){

顺便说一下,(*i​​t).first 可以更地道地写成 it->first。箭头运算符 (->) 是取消引用 (*) 和成员访问 (.) 运算符的组合。

关于c++ - map 操作(找到出现次数最多的元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3301684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com