6.3 KiB
title | localeTitle |
---|---|
queue | طابور |
طوابير
queue
هي واحدة من الحاويات الأكثر استخدامًا في C ++. الحاوية عبارة عن بنية بيانات تخزن مجموعة من الكائنات ، بعضها في ترتيب ، وبعضها لا. تحتوي كل الحاويات على مجموعة مختلفة من الوظائف التي تسمح لك بالوصول إلى كائن (كائنات) في تلك المجموعة.
std::queue
جزء من المكتبة القياسية C ++ (ومن هنا pred std::
ويسمح لك بتخزين البيانات في First Out First (FIFO). ملاحظة: يجب أن تكون كافة الكائنات الموجودة في قائمة انتظار من نفس نوع البيانات
يدخل نوع البيانات الذي تقوم بتخزينه في قائمة الانتظار داخل أقواس زاوية بجوار الكلمة الرئيسية في قائمة الانتظار. على سبيل المثال ، إذا كنت ترغب في تخزين مجموعة من الأعداد الصحيحة ، فستكون قائمة الانتظار std::queue<int> queue_name
Queue LIFO شرح
تتيح لنا queue
الضغط على / enqueue و pop / dequeue بترتيب معين. دفع يعني إدخال كائن في مقدمة قائمة الانتظار. البوب تعني سحب الكائن "الأقدم" من نهاية قائمة الانتظار. لذا عندما تضغط عليه في المقدمة وعندما تطفو فإنك تستخرج العنصر الأقدم.
عمليات قائمة الانتظار
يدعم حاوية قائمة الانتظار العمليات التالية:
- دفع (enqueue)
- pop (dequeue)
- فارغة
- بحجم
- أمامي
- الى الخلف
إدفع
يسمح لك بإدراج عنصر جديد في نهاية قائمة الانتظار ، بعد العنصر الأخير الحالي.
`//Push operation in Queue #include // std::cout #include // std::queue
int main () { std::queue q;
q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue
return 0; } `
أمامي
يسمح لك بالوصول إلى العنصر التالي في قائمة الانتظار دون إزالته. العنصر التالي هو العنصر "الأقدم" في قائمة الانتظار.
`//Front operation in Queue #include // std::cout #include // std::queue
int main () { std::queue q;
q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue
std::cout<<q.front()<<'\n'; //Accessing the front of the queue std::cout<<q.front()<<'\n'; //Accessing the front of the queue
return 0; } `
Output: 1 1
فرقعة
يسمح لك بإزالة العنصر التالي في قائمة الانتظار ، مما يقلل بشكل فعال حجمه بمقدار واحد. العنصر الذي تمت إزالته هو العنصر "الأقدم".
`//Pop operation in Queue #include // std::cout #include // std::queue
int main () { std::queue q;
q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue
std::cout<<q.front()<<'\n'; //Accessing the front of the queue q.pop(); //Removing the oldest element std::cout<<q.front()<<'\n'; //Accessing the front of the queue q.pop(); //Removing the oldest element
return 0; } `
Output: 1 2
بحجم
لعرض عدد العناصر في queue
.
`//Size operation in Queue #include // std::cout #include // std::queue
int main () { std::queue q;
q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue
std::cout<<q.size()<<'\n'; //Accessing the front of the queue q.pop(); //Removing the oldest element std::cout<<q.size()<<'\n'; //Accessing the front of the queue q.pop(); //Removing the oldest element std::cout<<q.size()<<'\n'; //Accessing the front of the queue
return 0; } `
Output: 2 1 0
فارغة
إرجاع ما إذا كانت queue
فارغة ، أي ما إذا كان حجم قائمة الانتظار هو صفر. تقوم بإرجاع true
إذا كان حجم قائمة الانتظار 0 أخرى بإرجاع false
`` `cpp // عملية فارغة في قائمة الانتظار
تتضمن // std :: cout
تتضمن // std :: stack
انت مين () { الأمراض المنقولة جنسيا :: طابور ف.
q.push (1)؛ q.push (2)؛
بينما (q.empty ()! = true) { الأمراض المنقولة جنسيا :: محكمة << q.front () << '\ ن'. q.pop ()؛ }
std :: cout << "الخروج من الحلقة" << '\ n'؛ العودة 0 }
` Output: 1 2 Out of loop
Back
Allows you to access the last element in the queue without removing it. The next element is the "newest" element in the queue. `
حزب الشعب الكمبودي // Back العملية في قائمة الانتظار
تتضمن // std :: cout
تتضمن // std :: queue
انت مين () { الأمراض المنقولة جنسيا :: طابور ف.
q.push (1)؛ // دفع 1 أمام قائمة الانتظار q.push (2)؛ // دفع 2 أمام قائمة الانتظار
الأمراض المنقولة جنسيا :: محكمة << q.back () << '\ ن'. // الوصول إلى الجزء الخلفي من قائمة الانتظار الأمراض المنقولة جنسيا :: محكمة << q.back () << '\ ن'. // الوصول إلى الجزء الخلفي من قائمة الانتظار
العودة 0 } `` `
Output: 2 2
لمزيد من الموارد:
http://www.cplusplus.com/reference/queue/queue/
اقتباسات:
الصورة مجاملة: https://en.wikipedia.org/wiki/FIFO (computing and_electronics)