阅读量:5
要去掉数组中的重复元素,可以使用双重循环遍历数组,比较每一个元素与后面的元素是否相等,如果相等则删除后面的元素。以下是一个示例代码:
#include <stdio.h> void removeDuplicates(int arr[], int size) { int i, j, k; // 遍历数组中的每一个元素 for (i = 0; i < size; i++) { // 查找后面的元素是否与当前元素相等 for (j = i + 1; j < size;) { if (arr[j] == arr[i]) { // 如果相等,则将后面的元素往前移动 for (k = j; k < size - 1; k++) { arr[k] = arr[k + 1]; } size--; // 数组长度减1 } else { j++; // 继续查找下一个元素 } } } } int main() { int arr[] = {1, 2, 3, 1, 2, 4, 5, 6, 2, 7}; int size = sizeof(arr) / sizeof(arr[0]); removeDuplicates(arr, size); // 打印去重后的数组 for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
输出结果为:1 2 3 4 5 6 7