c语言去除重复数字不排序
时间: 2024-12-19 07:27:06 浏览: 4
在C语言中,如果你想从一组数字中去除重复并保持原始顺序,可以使用哈希表(如`unordered_set`或`stdbool`数组)或者简单地遍历数组,只添加未遇到过的元素到新数组。这里是一个简单的示例,使用布尔数组来实现:
```c
#include <stdio.h>
#define SIZE 100 // 假设我们处理的是小范围内的数字
void remove_duplicates(int arr[], int n) {
bool isDuplicate[SIZE] = {false}; // 初始化所有元素为假(未遇到)
for (int i = 0; i < n; i++) {
if (!isDuplicate[arr[i]]) {
printf("%d ", arr[i]); // 输出当前元素
isDuplicate[arr[i]] = true; // 标记当前元素已遇到
}
}
printf("\n");
}
int main() {
int numbers[] = {1, 5, 2, 6, 3, 7, 4, 8, 5, 9};
int count = sizeof(numbers) / sizeof(numbers[0]);
remove_duplicates(numbers, count);
return 0;
}
```
在这个例子中,函数`remove_duplicates`会打印出输入数组中每个首次出现的数字,重复的数字会被忽略。
阅读全文