在給定索引範圍內刪除 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP