عكس القائمة: Reverse Linked List
تفهم إحدى أشهر عمليات Linked List: قلب اتجاه القائمة.
أهداف الدرس
- تفهم معنى Reverse.
- ترى أثر العملية على HEAD والاتجاه.
- تدرك أن تغيير المؤشرات يغير شكل القائمة.
القصة
القطار كان يسير: 1 ثم 2 ثم 3. فجأة طلب المدير أن يبدأ القطار من العربة الأخيرة. لا نحتاج تغيير أرقام العربات؛ نحتاج تغيير اتجاه الروابط.
الفكرة البرمجية
Reverse يعني جعل آخر عنصر يصبح Head، وكل pointer ينعكس ليشير للعنصر السابق بدل التالي. في المحاكي ستراه كتغيير مباشر في ترتيب القائمة.
تخيلها بصريًا
قبل: HEAD → 1 → 2 → 3 → NULL. بعد: HEAD → 3 → 2 → 1 → NULL.
نفذ Reverse
- اختر Linked List.
- Insert Tail: 1 ثم 2 ثم 3.
- اضغط Reverse.
- راقب كيف أصبحت 3 في البداية.
تحدي الدرس
إذا كانت القائمة A → B → C → D، ماذا تصبح بعد Reverse؟
تحقق سريع
- بعد Reverse لقائمة [1,2,3] من يصبح Head؟
الإجابة: 3 - هل Reverse يضيف عناصر جديدة؟
الإجابة: لا، يعيد ترتيب الروابط