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++) {
      // adding updating element if it is not in the given range
      if (i <= l || i >= r) {
         arr[newIndex] = arr[i];
         newIndex++;
      }
   }
   // returing the updated index
   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

結論

如果您在本教程中有任何疑問,請在評論區提出。

更新於:2021年1月27日

20K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.