C++で配列から要素を削除する方法は?
C++では、配列は固定長であり、要素を直接削除することはできません。しかし、要素を移動させることで特定の要素を間接的に削除することができます。以下は、配列から特定の要素を削除する方法の一つです。
#include <iostream>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = 10;
int deleteValue = 5; // 要删除的元素
int i, j;
for (i = 0; i < size; i++) {
if (arr[i] == deleteValue) {
// 将后面的元素依次向前移动
for (j = i; j < size - 1; j++) {
arr[j] = arr[j + 1];
}
size--; // 数组大小减一
}
}
// 打印删除元素后的数组
for (i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
結果:
1 2 3 4 6 7 8 9 10
上記のコードでは、まず10要素の整数配列arrを作成し、削除する要素deleteValueを5と定義します。2つのループを使用し、最初のループでは配列全体を繰り返し処理し、削除する要素が見つかった場合、後ろの要素を前に移動させます。2番目のループでは、削除された要素の後の配列を出力します。最終的な結果は、要素5を削除した後の配列です。