概述
/*如何在一个有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;
}
最后
以上就是孝顺朋友为你收集整理的求一个整型数组中出现次数最多的一个元素,要求具备较高的效率的全部内容,希望文章能够帮你解决求一个整型数组中出现次数最多的一个元素,要求具备较高的效率所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复