تحديات Stack
تتدرب على توقع النتيجة قبل تشغيل المحاكي.
أهداف الدرس
- تتوقع حالة Stack بعد سلسلة عمليات.
- تفرق بين الإضافة والحذف والنظر للقمة.
- تكتسب ثقة قبل الانتقال لـ Queue.
القصة
الآن أنت مسؤول عن اختبار نظام التراجع في محرر NTF Hub. لا يكفي أن تضغط الأزرار؛ يجب أن تتوقع النتيجة قبل التنفيذ.
الفكرة البرمجية
أفضل طريقة لفهم Stack هي تتبع TOP بعد كل عملية. لا تراقب كل العناصر فقط؛ اسأل دائمًا: ما العنصر الموجود في القمة الآن؟
تخيلها بصريًا
ارسم عمودًا صغيرًا. كل Push يضيف فوق، وكل Pop يحذف من فوق.
تحديات عملية
- نفذ: Push(A), Push(B), Push(C), Pop().
- ما TOP؟
- نفذ: Push(1), Push(2), Pop(), Push(3), Peek().
- قارن توقعك بالمحاكي.
تحدي الدرس
بدون تشغيل المحاكي: Push(7), Push(9), Pop(), Push(11), Pop(). ما محتوى Stack النهائي؟ ثم تحقق.
تحقق سريع
- بعد Push(A), Push(B), Pop() ما يبقى؟
الإجابة: A - هل Pop من Stack فارغ صحيح؟
الإجابة: لا، يسمى Underflow