如何删除一维数组中不连续的重复元素
时间: 2024-02-18 11:56:17 浏览: 23
可以通过双重循环遍历数组,将重复的元素删除。具体实现如下:
```c
#include <stdio.h>
void removeDuplicates(int arr[], int n) {
int i, j, k;
for (i = 0; i < n; i++) {
for (j = i + 1; j < n;) {
if (arr[j] == arr[i]) {
for (k = j; k < n; k++) {
arr[k] = arr[k + 1];
}
n--;
} else {
j++;
}
}
}
}
int main() {
int arr[] = {1, 2, 3, 4, 2, 5, 6, 3, 7, 8, 8, 9};
int n = sizeof(arr) / sizeof(arr[0]);
removeDuplicates(arr, n);
printf("Array after removing duplicates: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序会输出:Array after removing duplicates: 1 2 3 4 5 6 7 8 9
其中,removeDuplicates函数用于删除数组中的重复元素,主函数中的arr数组是需要删除重复元素的数组,n是数组的长度。