在 C 语言中可以使用以下方法来去除数组中的重复元素:
可以将数组中的所有元素放到一个哈希表中,然后再遍历哈希表将不重复的元素添加到另一个数组中。
也可以对数组进行排序,然后在遍历数组时判断当前元素是否与前一个元素相同,如果不同则将其添加到另一个数组中。
以下是使用第二种方法的代码示例:
``` #include <stdio.h> #include <stdlib.h>
// 冒泡排序函数,用于将数组升序排序 void bubble_sort(int *arr, int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
int main() { // 定义数组并初始化 int arr[] = {1, 5, 2, 3, 2, 5}; int n = sizeof(arr) / sizeof(arr[0]);
// 将数组升序排序 bubble_sort(arr, n);
// 创建新数组用于存储去重后的结果 int *result = malloc(n * sizeof(int)); if (result == NULL) { printf("内存分配失败!\n"); return 1; }
// 遍历数组,将不重复的元素添加到新数组中 int count = 0; result[count++] = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] != arr[i - 1]) { result[count++] = arr[i]; } }
// 输