C言語のunique関数の使い方は?
C言語には独自にユニークな関数は内蔵されていません。しかし、重複削除機能を実現するためにはいくつかの方法が使用できます。
配列とループを使った重複排除
- 重複しない要素を格納する配列を定義する。
- 与えられた配列を反復処理し、各要素に対して、それが重複のない配列内にあるかどうかを判定する。
- 重複していない配列の中にその要素が存在しなければ、配列に追加する。
- 結果、配列に重複のない要素だけが残る。
以下に、サンプルコードの実装を示します。
#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
配列の重複排除に基づいた方法に注意してください。リンクドリストやハッシュテーブルなどの他のデータ構造を使用すると、重複排除機能をより効率的に実装できます。