在给定索引范围内删除 C++ 数组元素 [L – R]?
让我们先定义删除数组元素的原始数组和独有范围,还要找到原始的数组长度 -
int arr[] = { 2,4,6,8,10,12,14,16,18,20}; int L = 2, R = 6; int length = sizeof(arr) / sizeof(arr[0]);
现在我们遍历数组,如果索引位置 (i) 大于 L 或 R,我们增加变量 k,该变量用于一旦索引值 (i) 介于范围 L 和 R 之间就移动数组元素位置(删除)。此外,给定数组的新长度将是 k。
int k = 0; for (int i = 0; i < length; i++) { if (i <= L || i >= R) { arr[k] = arr[i]; k++; } }
示例
让我们看看以下实现来更好地理解如何删除给定索引中的数组元素
#include <iostream> using namespace std; int main() { int arr[] = { 2,4,6,8,10,12,14,16,18,20}; int L = 2, R = 6; int length = sizeof(arr) / sizeof(arr[0]); int k = 0; for (int i = 0; i < length; i++) { if (i <= L || i >= R) { arr[k] = arr[i]; k++; } } length=k; for (int i = 0; i < length; i++) cout << arr[i] << " "; return 0; }
输出
上面的代码将生成以下输出 -
2 4 6 14 16 18 20
广告