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