#include <iostream>
#include <algorithm>
using namespace std;
#define N 10
void generate(int *a, int n)
{
for(int i = 0; i < n; i++)
{
a[i] = rand()%3;
}
}
void print(int *a, int n)
{
for(int i = 0; i < n; i++)
{
cout<<" "<<a[i];
}
cout<<endl;
}
void change(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void sort(int *a, int n)
{
for(int i = 0; i < n-1; i++)
{
for(int j = 0; j < n-i-1; j++)
{
if(a[j] > a[j+1])
{
change(a[j],a[j+1]);
}
}
}
}
void findnum(int *a, int n)
{
int count = 1;
int maxtemp = a[0];
int maxc = 1;
for(int i = 0; i < n; i++)
{
if(a[i] == a[i-1])
{
count++;//前后相等,累加
}
else
{
if(count > maxc)//前后不等,记录最大次数,并把对应元素记下
{
maxc = count;
count = 1;
maxtemp = a[i-1];
}
}
}
cout<<maxtemp<<" "<<maxc<<endl;
}
int main()
{
time_t time1;
srand((unsigned int)(&time1));//每次结果不一样
int *a = (int *)malloc(sizeof(int)*N);//a申请空间
generate(a, N);
print(a, N);
sort(a, N);
print(a,N);
findnum(a, N);
return 0;
}
实现排序后寻找出现次数最多的数
最新推荐文章于 2023-08-05 13:49:30 发布