我有这样的代码,我一直在工作,显示array1的数组是重复的array1和array1中的其他值的重复值,但我一直有困难计算唯一值的数量。 [sizeOfA,sizeOfB,一个[]和b []通过主函数而获得]C - 给定两个数组,你如何找到一个数组中唯一元素的数量?
int aDupes = 0;
int bDupes = 0;
int i, j, k;
for(i = 0; i < sizeOfA; i++){
for(j = 0; j < sizeOfB; j++){
if(a[i] == b[j]){
bDupes++;
}
}
}
for(i = 0; i < sizeOfA; i++){
for(j = i+1; j < sizeOfA; j++){
for(k = 0; k < sizeOfB; k++){
if(a[i] == a[j] && a[i] == b[k]){
aDupes++;
}
}
}
}
因此,例如 一个[] = {1,3,3,5,6,7,8} b [] = {1,3,8,2} 会返回aDupes = 1; bDupes = 4。但是独特元素的数量应该是3(5,6,7)。我怎样才能做到这一点?
此外数组的独特元素的值,如果任何人都可以给这些返回唯一值的动态数组的意见,我会很感激它极大地。 :) – Grum
您应该搜索并阅读* set操作*。对于“唯一”值搜索*设置差*。 –
从'bDupes'减去'aDupes',你将得到数组'a []''的所有唯一元素 – Nutan