怎样调用一个函数来剔除重复的数

发布网友 发布时间:2022-04-23 03:21

我来回答

3个回答

热心网友 时间:2023-08-10 05:47

如果数都分布的很集中的话,比如 1- 1000 可以尝试用
一个 boolean数组 大小为 1000

然后遍历原来的数组,用原来的数做下标,出现的使其为真,最后读BOOL数组为真的索引恢复一个新数组,就是无重复的。这个方法比较简单。

还有就是建立一颗 平衡树, 方法网上可以搜到,类似 STL 中 SET 的实现。效率相当高,你把数据都插进去,就可以自动剔除重复的数。
我也不是很会。

热心网友 时间:2023-08-10 05:47

/********注释****src[]原数组****num为数组个数***返回非重复个数****/
#include<stdio.h>
int func(int src[],int num)
{
int i,j,count = 0,flag = 0;
for(i = 0;i < num;i++){
if(!src[i]) flag = 1; /*若有零,置flag 为 1 */
}
for(i = 0;i < num - 1;i++){
for(j = i + 1;j < num;j++){
if(src[i] == src[j])
src[j] = 0; /*重复值全部置 0 */
}
}
if(flag){
printf("%10d",0);
count = 1;
}
/****在此可设置一个数组进行接收*****/
for(i = 0;i < num;i++){
if(src[i]){
printf("%10d",src[i]);
count++; /*非重复的个数*/
}
}
return count;
}

热心网友 时间:2023-08-10 05:48

弄两个数组 第n个相同b{n}=a{n+1}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com