首页 > 解决方案 > 有没有办法将元素及其频率一起存储在同一个数据结构中?

问题描述

我一直在研究数组的问题,并且必须考虑每个元素的计数并在那时和那里动态更改。我想知道是否有办法将元素和频率都存储在一个数据结构中。 任何带有 cpp 代码的解决方案都会有所帮助

标签: c++

解决方案



int main()
{
    int a[]={1,1,1,2,2,3,4};
    map<int,int> m;
    map<int,int>::iterator it;
    for(int i=0;i<7;i++)
    {
        it=m.find(a[i]);
        if(it!=m.end()) it->second++;
        else m.insert(pair<int,int>(a[i],1));
    }
    
    //printing the output
    for(auto i=m.begin();i!=m.end();i++)
    cout<<i->first<<"->"<<i->second<<"\n";
}

是的,您使用地图来存储元素及其计数。在这里,我使用了迭代器和 find 函数来检查元素是否存在。如果存在,则将计数增加 1,即 it->second++。否则,您可以使用插入函数在地图中插入新元素。


推荐阅读