找出数组中重复次数为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;
}
#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;
}
相关文章推荐
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#动态调整数组大小的方法
- Lua和C语言的交互详解
- 详解Lua中的数组概念知识
- Perl中的列表和数组学习笔记
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧
- PowerShell数组的一些操作技巧
- C#通过yield实现数组全排列的方法
- C#不重复输出一个数组中所有元素的方法
- C#实现将数组内元素打乱顺序的方法
- Ruby简明教程之数组和Hash介绍
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解