C语言中不用指针算法删除重复元素
时间: 2024-05-07 09:22:31 浏览: 9
在C语言中,可以使用数组来删除重复元素,不一定需要指针算法。具体实现可以按照以下步骤:
1. 定义一个数组,并初始化其中的元素。
2. 使用双重循环遍历数组,比较每个元素和后面的元素是否相等。
3. 如果相等,则将后面的元素向前移动一位,并将数组长度减一。
4. 如果不相等,则继续比较下一个元素。
以下是一个示例代码:
```c
#include <stdio.h>
int main()
{
int arr[10] = {1, 2, 2, 3, 3, 4, 5, 5, 5, 6};
int i, j, k, len = 10;
for (i = 0; i < len; i++) {
for (j = i + 1; j < len;) {
if (arr[j] == arr[i]) {
for (k = j; k < len - 1; k++) {
arr[k] = arr[k + 1];
}
len--;
} else {
j++;
}
}
}
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:1 2 3 4 5 6。可以看到,重复元素已经被删除了。