您的位置:首页 > 编程语言 > C语言/C++

找出数组中重复次数为2的元素,

2015-10-20 21:44 316 查看
找出数组中重复次数为2的元素,思路为先进行排序,此处直接调用的C++ 的快排,然后记录重复次数。

#include<iostream>
#include<cstdlib>
using namespace std;

int comp(const void *a,const void *b);
int* chongfu(int* inputarr,int );

int main()
{
int inputarr[]={4,2,3,4,5,3,2,4,7,9,0,0,0,0,9,8,8};
int num=sizeof(inputarr)/sizeof(int);
chongfu(inputarr,num);
for(int i=0;i<num;i++)
cout<<inputarr[i];
return 0;
}

int comp(const void *a,const void *b){
return *(int *)a-*(int *)b;
}

int* chongfu(int* inputarr,int n)
{
qsort(inputarr,n,sizeof(inputarr[0]),comp);

int t2 =inputarr[0];
int count=1;
for(int i=1;i<n;i++)
{

if(inputarr[i] != t2 )
{
if(count==2)
cout<<t2<<endl;

count=1;
t2=inputarr[i];
}
else
if(inputarr[i]==t2)
{
count++;

if(i==n-1)
{
if(count==2)
cout<<inputarr[i]<<endl;
}
}

}
return inputarr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数组 c语言