طابور

في علوم الحاسوب، الطابور هو ترتيب لأشياء بحيث تتوالي، ويكون أول شيء يدخل الطابور هو أول ما يخرج منه ، وآخر ما يدخله هو آخر ما يخرج منه.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

في علم الحاسوب

تستخدم بنية بيانات الطابور في علم الحاسوب بشكل مكثف وتسمى بالإنجليزية Queue. وتعرّف بأنها مجموعة لها مبدأ في الترتيب هو إما FIFO ، أي First In First Out بمعنى الداخل أولا هو الخارج أولا ، والآخر LIFO أي Last In First Out بمعنى الداخل أخيرا هو الخارج أولا وهذا النوع مشهور بإسم الرصّة أو التكديس ، وبالإنجليزية يسمى Stack ، ويمكن تخيله بمجموعة صحون مرتبة فوق بعضها البعض ، فأول صحن يوضع سيكون آخر صحن يمكن أخذه إذا كنت تأخذ الصحون من الأعلى ، وآخر صحن وضع في الأعلى سيكون أول صحن يمكن آخذه. للمزيد من المعلومات عن النوع الثاني ، إقرا مقال المكدس.

بالنسبة للطابور فإن بناءه يمكن أن يتم بعدّة طرق ، منها جدول أو صفيف بسيط ، أو كسلسلة مترابطة يتم زيادة العناصر إليها ، فتكون كأنها جدول يتم تغيير حجمه بحسب الحاجة.


الطابور كبناء بياناتيّ

في حال تم بناء الطابور كجدول Array ، فإن بناءه يكون بحيث يكون بداية الطابور يساوي نهايته في حال كان الطابور فارغا ، فلو أن الجدول فيه عشرة عناصر ، فإن الفرق بين العنصر الأول والأخير سيكون صفرا عندما يكون الطابور فارغا .

طابور كمصفوفة ذات بعد واحد

في الرسم السابق F تمثل العنصر الأول في الطابور بينما R تمثل العنصر الأخير،

وفي الرسم السابق نلاحظ أن الحد الأقصى لعدد عناصر الطابور هو n.


عند إدراج عنصر ما في الطابور فإنه يحتل المؤخرة ، فهو آخر عنصر في الطابور ، وبالتالي ، فإن نهاية الطابور ستتقدم بمقدار وحدة ، وعند إخراج عنصر من الطابور ، فإن المقدمة ستنتقل للعنصر التالي ، وسيزداد عداد بداية الطابور وحدة واحدة .

عندما يصبح الطابور ممتلأ فإن نهاية الطابور ستساوي الحجم الأكبر للطابور ، ولو كان بناء الطابور دورانيا ، أي أنه عندما يخرج عنصر من الطابور فإن الطابور لا يتقدم بالكامل ، ولكن فقط مؤشر البداية ينتقل للعنصر التالي ، فإن الطابور يمتليء عندما يصبح زيادة عنصر على بداية الطابور سيؤدي إلى الكتابة فوق مقدمته ، اي ان باقي قسمة نهاية الطابور +1 على حجم الطابور سيساوي قيمة المؤشر على الخانة الأولى.

الكلمات الدالة: