在 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,positions(delete)一旦索引值 (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

以上是 在 C++ 中删除给定索引范围 [L – R] 中的数组元素? 的全部内容, 来源链接: utcz.com/z/359016.html

回到顶部