C语言如何删除数组中的重复项
时间: 2024-11-22 19:43:53 浏览: 5
C语言查找数组里数字重复次数的方法
5星 · 资源好评率100%
在C语言中,删除数组中的重复项通常涉及到遍历数组并使用某种数据结构如哈希表或排序算法来跟踪已见元素。这里有一个简单的示例,展示了如何通过遍历和比较来删除一维整型数组中的重复元素:
```c
#include <stdio.h>
void removeDuplicates(int arr[], int n) {
if (n == 0 || n == 1)
return;
int i, j;
for (i = 0; i < n - 1; i++) { // 遍历数组
if (arr[i] == arr[i + 1]) { // 如果找到重复项
for (j = i + 1; j < n; j++) { // 将后面的元素前移
arr[j] = arr[j + 1];
}
n--; // 减少数组长度
i--; // 重置当前索引,继续检查下一个
}
}
}
int main() {
int arr[] = {1, 5, 2, 6, 5, 3, 4, 2};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: \n");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
removeDuplicates(arr, n);
printf("\nArray after removing duplicates: \n");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
这个程序首先会打印原始数组,然后调用`removeDuplicates`函数来删除重复项,并再次打印处理后的数组。
阅读全文