تحتاج العديد من البرامج إلى الاحتفاظ بالعناصر وفق ترتيب معين، ولكنها تتطلب أيضاً قاعدةً تحدد العنصر الذي سيتم إزالته تالياً. وتكتسب هذه القاعدة أهميتها لأنها تؤثر على سلوك الكود البرمجي عند تعرضه لضغط العمل، وعلى طبيعة التأخيرات التي يواجهها المستخدمون، وكذلك على مدى سهولة أو صعوبة تنفيذ ميزات معينة.
ولفهم هذه القاعدة بشكل ملموس وعملي، استعرض سيناريوهات العالم الحقيقي التالية وركّز على قاعدة الترتيب التي يفرضها كل منها.
بمجرد ملاحظة القاعدة، يمكنك توقع السلوك؛ فزر “الرجوع” يعيد عرض الصفحة الأحدث لأن النظام يزيل أحدث عنصر أولاً، بينما تنجز طابورة الطباعة أقدم مهمة أولاً لأن النظام يزيل أقدم عنصر أولاً.
تُزيل المكدسة (Stack) العنصر الذي أُضيف مؤخراً أولاً، وهو مبدأ “آخر عنصر يدخل هو أول عنصر يخرج” (LIFO). أما الطابور (Queue) فيُزيل العنصر الذي أُضيف مبكراً أولاً، وهو مبدأ “أول عنصر يدخل هو أول عنصر يخرج” (FIFO).
اطّلع على المقارنة المباشرة بينهما، ولاحظ أي الطرفين يقبل عمليات الإضافة وأيّهما يسمح بعمليات الإزالة.