c语言 删除数组重复的元素
时间: 2023-10-02 09:12:31 浏览: 348
在 C 语言中,删除数组中重复的元素可以通过以下步骤实现:
1. 遍历整个数组,找到重复的元素。
2. 把重复的元素删除,即把后面的元素往前移动一位。
3. 修改数组的长度,即把数组长度减去删除的元素的个数。
下面是一个示例代码,可以删除整型数组中的重复元素:
```c
#include <stdio.h>
void deleteDuplicate(int arr[], int len) {
int i, j, k;
int count = 0; // 重复元素的个数
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (arr[i] == arr[j]) {
count++;
for (k = j; k < len; k++) {
arr[k] = arr[k + 1]; // 把后面的元素往前移动
}
len--; // 修改数组长度
j--; // 继续从当前位置比较
}
}
}
printf("删除重复元素后的数组:\n");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = { 1, 2, 2, 3, 4, 4, 5 };
int len = sizeof(arr) / sizeof(arr[0]);
printf("原始数组:\n");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
deleteDuplicate(arr, len);
return 0;
}
```
该示例代码中定义了一个 `deleteDuplicate()` 函数,该函数接受一个整型数组和数组的长度作为参数。函数内部使用双重循环遍历整个数组,找到重复的元素,并将后面的元素往前移动一位。同时,函数还统计了重复元素的个数,并修改了数组的长度。最后,函数输出删除重复元素后的数组。
阅读全文