C语言怎么算 同或,找一个数组中重复出现了一次的元素

如题所述

方法1:先快速排序,然后遍历
方法2:遍历数组,把遍历的元素计算一个hash放到另外的数组里去,如果一个位置放了2次,就表明有2个。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-16
刚刚写的,设数组有10个数,参考程序如下:
#include<stdio.h>

int main()

{

int p[10];

int k,i;

printf("输入10个数字,以空格隔开\n");

for (int i=0; i<10; i++) {

scanf("%d",&p[i]);

}

for (i = 0; i<10; i++) {

for (k = 9; k>=0; k--) {

if (i != k) {

if (p[i]==p[k]) {

k--;

break;

}

}

}

if (k>=0) {

printf("元素重复\n");

break;

}

}

if (i==10) {

printf("元素无重复\n");

}

return 0;

}追问

算法复杂度!!!

追答

你不是来问程序的?

本回答被网友采纳
相似回答