ให้เรากำหนดอาร์เรย์ดั้งเดิมและช่วงพิเศษสำหรับการลบองค์ประกอบอาร์เรย์ก่อนและค้นหาความยาวอาร์เรย์ดั้งเดิม -
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