温馨提示×

c语言如何去掉数组中重复的元素

小亿
83
2024-06-03 09:19:12
栏目: 编程语言

有多种方法可以去掉数组中的重复元素,以下是一种常见的方法:

#include <stdio.h>

int removeDuplicates(int arr[], int n) {
    if (n == 0 || n == 1)
        return n;

    int temp[n];

    int j = 0;
    for (int i = 0; i < n - 1; i++) {
        if (arr[i] != arr[i + 1]) {
            temp[j++] = arr[i];
        }
    }

    temp[j++] = arr[n - 1];

    for (int i = 0; i < j; i++) {
        arr[i] = temp[i];
    }

    return j;
}

int main() {
    int arr[] = {1, 2, 2, 3, 4, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    n = removeDuplicates(arr, n);

    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

在这个方法中,我们首先创建一个临时数组temp,然后遍历原始数组arr,将不重复的元素复制到temp中。最后,将temp中的元素复制回原始数组arr。这样就可以去掉重复的元素。

0