ما هو الطابور؟

الفكرة الأساسية

الطابور يعالج العناصر حسب قاعدة الأول دخولًا هو الأول خروجًا، أو FIFO. ينضم العنصر إلى الخلف، ويخرج أقدم عنصر منتظر من الأمام.

هذه قاعدة تناسب مهمة تريد الحفاظ على ترتيب الوصول. لكنها لا تعني أن كل خدمة واقعية يجب أن تستخدمها؛ وجود أولويات أو مواعيد أو شروط أهلية قد يحتاج تصميمًا مختلفًا.

مثال طلبات طباعة افتراضية

الحدثالطلبات من الأمام إلى الخلفالتالي
وصول أأأ
وصول بأ، بأ
خروج أ للمعالجةبب
وصول جب، جب
خروج بجج

خروج الطلب من الانتظار لا يثبت نجاح الطباعة. التطبيق الحقيقي قد يحتاج حالات مستقلة للمعالجة والنجاح والفشل؛ لا تخلطها بترتيب الطابور.

العمليات في C++

#include <iostream>
#include <queue>
#include <string>

int main() {
    std::queue<std::string> jobs;
    jobs.push("job-a");
    jobs.push("job-b");
    while (!jobs.empty()) {
        std::cout << jobs.front() << '\n';
        jobs.pop();
    }
}

الناتج job-a ثم job-b. يفحص الكود الفراغ قبل قراءة front. ودالة pop تزيل العنصر دون إعادة قيمته.

لو تحتاج القيمة، اقرأ front قبل الحذف. أما back فتشير إلى آخر عنصر أضيف، وليس العنصر التالي للخروج.

السعة تحتاج قرارًا

الطابور المحدود له أقصى عدد عناصر. عند الامتلاء يجب تحديد التصرف: رفض إضافة جديدة، أو انتظار بضوابط، أو سياسة أخرى معلنة.

استبدال عنصر منتظر بصمت يغير معنى الطابور. وفي تنفيذ بمصفوفة دائرية، ميّز التفاف الفهارس عن الترتيب المنطقي للعناصر.

هل المثال يصلح لعدة عمال؟

حاوية يستخدمها برنامج صغير لا تصبح تلقائيًا نظام مهام آمنًا لعدة عمال. التزامن والتكرار وإعادة المحاولة والتوقف أثناء التنفيذ مسائل إضافية.

في البداية استخدم محاكاة بخيط تنفيذ واحد وطلبات مختلقة. افهم الترتيب أولًا، ثم ادرس آليات المعالجة المتزامنة بصورة منفصلة.

اختبار على الورق

أضف 4 ثم 8، واحذف مرة، ثم أضف 12 واحذف مرتين. القيم الخارجة بالترتيب 4 و8 و12، والنهاية طابور فارغ. أي حذف جديد يجب أن يتبع سياسة الفراغ.

في جمال تك تأتي هياكل البيانات بعد C++. قارن هذا المثال بالمكدس باستخدام نفس الأرقام؛ اختلاف الناتج ناتج عن قاعدة التعامل، وليس عن نوع الأرقام المخزنة.

اختر خطوتك التالية مع جمال تك

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

مراجع وتفاصيل الكورسات

المراجع التالية تساعد على متابعة التعلم. الأمثلة والتمارين في هذا المقال تعليمية، وتفاصيل الكورسات تُراجع من الكتالوج.

المقالات والأدلة