帮我写一个C语言数组去重算法
时间: 2023-06-28 14:07:03 浏览: 204
C语言实现数组去重操作
当需要对一个数组进行去重时,可以使用如下的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 2, 4, 5, 3, 6, 1};
int len = sizeof(arr) / sizeof(int);
int i, j, k;
for (i = 0; i < len; ++i) {
for (j = i + 1; j < len;) {
if (arr[j] == arr[i]) {
for (k = j; k < len; ++k) {
arr[k] = arr[k + 1];
}
--len;
} else {
++j;
}
}
}
for (i = 0; i < len; ++i) {
printf("%d ", arr[i]);
}
return 0;
}
```
该算法的思路是:遍历数组中的每个元素,然后再遍历该元素后面的所有元素,如果后面的元素与当前元素相同,则将其删除(即将后面的元素向前移动一位),直到后面没有相同的元素为止。
阅读全文