用C语言写一个删除数组中重复元素的函数
时间: 2023-09-25 17:15:37 浏览: 387
删除数组中的重复元素
以下是一个简单的用C语言实现删除数组中重复元素的函数:
```c
#include <stdio.h>
void removeDuplicates(int arr[], int *size) {
int i, j, k;
for (i = 0; i < (*size) - 1; i++) {
for (j = i + 1; j < (*size); j++) {
if (arr[i] == arr[j]) {
for (k = j; k < (*size) - 1; k++) {
arr[k] = arr[k + 1];
}
(*size)--;
j--;
}
}
}
}
int main() {
int arr[] = {1, 2, 3, 2, 1, 4, 5, 4};
int size = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
removeDuplicates(arr, &size);
printf("\nArray after removing duplicates: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个函数使用了三层循环,首先遍历数组元素,然后对于每个元素,再次遍历数组,找到重复的元素并将其删除。最后,将修改后的数组大小存储在指针变量中。该程序的输出结果如下:
```
Original array: 1 2 3 2 1 4 5 4
Array after removing duplicates: 1 2 3 4 5
```
阅读全文