C言語で配列から重複要素を削除の方法

C言語で配列から重複した要素を削除するには、以下の手順で行います。

  1. 重複を削除した要素を格納するための新しい配列を定義します。
  2. 元の配列を順番に走査し、各要素が新しい配列に存在するかどうかをチェックします。
  3. もし要素が新しい配列に存在しない場合、新しい配列に追加する。
  4. 最後の新しい配列の要素は元の配列にある固有の要素になります。

以下のコード例を参照:

#include <stdio.h>

void removeDuplicates(int arr[], int n) {
    int i, j, k;
  
    // 遍历原始数组
    for (i = 0; i < n; i++) {
        // 检查当前元素是否已存在于新数组中
        for (j = 0; j < i; j++) {
            if (arr[i] == arr[j]) {
                break;
            }
        }
        // 如果当前元素不存在于新数组中,则添加到新数组中
        if (j == i) {
            arr[k++] = arr[i];
        }
    }
  
    // 打印删除重复元素后的结果
    printf("删除重复元素后的数组:");
    for (i = 0; i < k; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {1, 2, 3, 4, 2, 3, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
  
    // 调用函数删除数组中的重复元素
    removeDuplicates(arr, n);
  
    return 0;
}

上記のコードの実行結果は重複要素を削除した配列となります:1 2 3 4 5

bannerAds