我是靠谱客的博主 孝顺朋友,最近开发中收集的这篇文章主要介绍求一个整型数组中出现次数最多的一个元素,要求具备较高的效率,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/*如何在一个有N个元素的整数数组中找出出现次数最多的一个整数,要求具备较高的效率.

Author:Bill Joy.

*/

#include<iostream>
#include<vector>
#include<ctime>
#include<cstdlib>

using namespace std;
const int N = 128;
int main()
{
    vector<int> vec;
    vec.reserve(N);
    srand(time(NULL));
    int i;
    for(i = 0;i<N;++i)
    {
        vec.push_back(rand()%50);
    }
    sort(vec.begin(),vec.end());
    vector<int>::iterator ite;
    for(ite = vec.begin();ite != vec.end();++ite)
    {
        cout<<*ite<<"     ";
    }
    cout<<endl;
   
    int max = 0; //记录元素出现的最大次数
    int temp = 0; //同时记录当前的元素值
    int j;
    i = 0;
    while(i<N)
    {
        int count = 1;
        for(j = i + 1;j<N && vec[i] == vec[j]; ++j)
        {
            ++count;
        }
        if(count > max)
        {
            max = count;
            temp = vec[j-1];
        }
        i = j;
    }
    cout<<"The Number is : "<<temp<<endl;
    cout<<"And the counter is : "<<max<<endl;
       
    system("pause");
    return 0;
}
 

最后

以上就是孝顺朋友为你收集整理的求一个整型数组中出现次数最多的一个元素,要求具备较高的效率的全部内容,希望文章能够帮你解决求一个整型数组中出现次数最多的一个元素,要求具备较高的效率所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部