如何求数组中相同元素的个数,C++版 。。。

2025-03-09 10:20:47
推荐回答(1个)
回答1:

#include
int a[1000];
void swap(int i,int j)
{
int temp;
temp=a[i];a[i]=a[j];a[j]=temp;
}
void qsort1(int left,int right)
{
int i,last;
if(left>=right) return;
swap(left,(left+right)/2);
last=left;
for(i=left+1;i<=right;i++)
if(a[i] swap(last,left);
qsort1(left,last-1);
qsort1(last+1,right);
}
int main(){
int n,i,s,maxn=0;
printf("请输入元素个数:\n");
scanf("%d",&n);
printf("请输入各个元素:\n");
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
}
qsort1(1,n);
s=1;
a[0]=-1;a[n+1]=-1;
for(i=1;i<=n+1;i++){
if(a[i]!=a[i-1]){
if(s>maxn) maxn=s;
s=1;
}
else s++;
}
printf("最多的元素个数为:%d个",maxn);
while(1);
}
需要注释吗?