C言語のunique関数の使い方は?

C言語には独自にユニークな関数は内蔵されていません。しかし、重複削除機能を実現するためにはいくつかの方法が使用できます。

配列とループを使った重複排除

  1. 重複しない要素を格納する配列を定義する。
  2. 与えられた配列を反復処理し、各要素に対して、それが重複のない配列内にあるかどうかを判定する。
  3. 重複していない配列の中にその要素が存在しなければ、配列に追加する。
  4. 結果、配列に重複のない要素だけが残る。

以下に、サンプルコードの実装を示します。

#include <stdio.h>

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

    int unique[n];
    int unique_count = 0;

    for (int i = 0; i < n; i++) {
        int is_duplicate = 0;

        for (int j = 0; j < unique_count; j++) {
            if (arr[i] == unique[j]) {
                is_duplicate = 1;
                break;
            }
        }

        if (!is_duplicate) {
            unique[unique_count] = arr[i];
            unique_count++;
        }
    }

    printf("Unique elements: ");
    for (int i = 0; i < unique_count; i++) {
        printf("%d ", unique[i]);
    }
    printf("\n");

    return 0;
}

以上のコードの出力結果は次の通りです。

Unique elements: 1 2 3 4 5

配列の重複排除に基づいた方法に注意してください。リンクドリストやハッシュテーブルなどの他のデータ構造を使用すると、重複排除機能をより効率的に実装できます。

bannerAds