快速找出数组中相同的变量
时间: 2024-08-16 15:04:01 浏览: 35
C语言找出数组中的特定元素的算法解析
在C语言中快速找出数组中重复的变量,可以参考一种高效的算法[^2],它利用了交换数组元素的位置来实现排序的同时查找重复。这里有一个简单的示例:
```c
#include <stdio.h>
void find_duplicates(int arr[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
if (arr[i] != 0 && arr[arr[i]] == arr[i]) { // 如果当前元素不为0且等于其对应位置的元素,则有重复
printf("Duplicate found at index %d with value %d\n", i, arr[i]);
}
}
}
int main() {
int array[] = {1, 2, 3, 4, 5, 5, 6};
int size = sizeof(array) / sizeof(array);
find_duplicates(array, size);
return 0;
}
```
这段代码会打印出数组`array`中重复的元素及其索引。注意,这种方法假设数组中可能存在非零元素作为重复项的标识。如果数组全为零或者只有重复的零,那么可能需要稍微调整代码。
阅读全文