一个数组 用函数删除数组中重复的元素 C语言
时间: 2024-10-05 20:04:42 浏览: 53
C语言中数组作为函数的参数以及返回值的使用简单入门
在C语言中,可以使用指针和循环结构来删除数组中的重复元素。下面是一个简单的示例,演示如何在一个整数数组中去除重复元素:
```c
#include <stdio.h>
// 函数声明
void removeDuplicates(int arr[], int n);
int main() {
int numbers[] = {1, 2, 2, 3, 4, 4, 5};
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("Before removing duplicates: ");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
// 调用函数去重
removeDuplicates(numbers, size);
printf("\nAfter removing duplicates: ");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
// 函数实现:使用双指针法
void removeDuplicates(int arr[], int n) {
if (n <= 1) return;
int i = 0, j = 1;
while (j < n) {
if (arr[j] != arr[i]) {
i++;
arr[i] = arr[j];
}
j++;
}
// 更新数组长度
arr[i + 1] = '\0'; // 使用空字符结束数组
n = i + 1;
}
阅读全文