在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