在C ++程序中删除给定索引范围[L – R]中的数组元素

在本教程中,我们将学习如何从给定范围内删除元素。让我们看看解决问题的步骤。

  • 初始化数组和范围以从中删除元素。

  • 初始化一个新的索引变量。

  • 遍历数组。

    • 如果当前索引不在给定范围内,则使用新的索引变量更新数组中的元素

    • 递增新索引。

  • 返回新索引。

示例

让我们看一下代码。

#include <bits/stdc++.h>
using namespace std;
int deleteElementsInRange(int arr[], int n, int l, int r) {
   int i, newIndex = 0;
   for (i = 0; i < n; i++) {
      // 如果不在给定范围内,则添加更新元素
      if (i <= l || i >= r) {
         arr[newIndex] = arr[i];
         newIndex++;
      }
   }
   // 重现更新的索引
   return newIndex;
}
int main() {
   int n = 9, l = 1, r = 6;
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
   int updatedArrayLength = deleteElementsInRange(arr, n, l, r);
   for (int i = 0; i < updatedArrayLength; i++) {
      cout << arr[i] << " ";
   }
   cout << endl;
   return 0;
}
输出结果

如果执行上述程序,则将得到以下结果。

1 2 7 8 9

结论