#include<iostream>
using namespace std;
bool sortById(int *a ,int n){
int i,j;
for(int t=0;t<n;t++){
i=t;
j=a[i];
if(i==j)
continue;
if(a[i]==a[j]){
return 1;
}
a[i]=a[j];
a[j]=j;
}
j=a[0];
if(a[0]==a[j])
return 1;
return 0;
}
int main(){
int a[]={
1,3,3,2
};
if(sortById(a,4))
cout<<"存在重复的数"<<endl;
else
cout<<"不存在重复的数" <<endl;
}
先排序,在找重复元素:
#include<iostream>
using namespace std;
int comp(const void *a,const void *b){
return (*(int *)a-*(int *)b);
}
int main(){
int a[]={
1,3,3,2
};
qsort(a,4,sizeof(int),comp);
for(int i=0;i<3;i++)
{
if(a[i]==a[i+1])
cout<<"存在重复"<<endl;
else
cout<<"不存在重复" <<endl;
}
}