用c语言写一个去重算法
时间: 2024-01-05 18:02:39 浏览: 72
C语言数据结构实现链表去重的实例
好的,这里给出一个用C语言实现的简单去重算法:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
int main()
{
int a[MAX_SIZE], b[MAX_SIZE];
int i, j, k, n, flag;
printf("Enter the number of elements in the array: ");
scanf("%d", &n);
printf("Enter the elements of the array: ");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
k = 0;
for (i = 0; i < n; i++) {
flag = 0;
for (j = 0; j < k; j++) {
if (a[i] == b[j]) {
flag = 1;
break;
}
}
if (flag == 0) {
b[k] = a[i];
k++;
}
}
printf("The array after removing duplicates: ");
for (i = 0; i < k; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
这个算法的基本思路是遍历原始数组中的每个元素,如果该元素在新数组中没有出现过,则将其添加到新数组中。在新数组中查找元素是否已存在的过程使用了一个标记变量flag。如果元素已存在,则将标记变量设置为1,否则设置为0。
阅读全文