C言語で配列から重複要素を削除の方法
C言語で配列から重複した要素を削除するには、以下の手順で行います。
- 重複を削除した要素を格納するための新しい配列を定義します。
- 元の配列を順番に走査し、各要素が新しい配列に存在するかどうかをチェックします。
- もし要素が新しい配列に存在しない場合、新しい配列に追加する。
- 最後の新しい配列の要素は元の配列にある固有の要素になります。
以下のコード例を参照:
#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