English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في مجال علوم الكمبيوتر، نحن نعمل على جميع أنواع البرامج. لكل منهم مجالهم وأدواتهم. بناءً على هدف إنشاء البرنامج والبيئة، لدينا العديد من بنيات البيانات المتاحة للاختيار. واحدة من هذه هي "الخط". قبل مناقشة هذا النوع من البيانات، دعونا نلقي نظرة على نحوه.
template<class T, class Container = deque<T> > class queue;
هذه بنية البيانات تناسب تقنية FIFO، حيث يعني FIFO الدخول أولاً الخروج أولاً. يتم استخراج العنصر الذي تم إدراجه أولاً، وبهذا الشكل. هناك عنصر يُدعى "البداية"، وهو العنصر الموجود في المقدمة أو في الموضع الأول، هناك أيضًا عنصر يُدعى "النهاية"، وهو العنصر الموجود في النهاية. في الخط العادي، يتم إدراج العناصر في النهاية، والتحذير من الأمام.
يُفترض أن يكون الخط في منطقة التطبيق منطقة من مروبادجير.
يجب أن يدعم الكونترولر القائمة التالية من العمليات:
empty
size
push_back
pop_front
front
back
Tالنوع_المحدد_بالقيمة: يحدد النوع الذي سيحتفظ به مروبادجير الـ
المعينةالنوع_المحدد_بالقيمة
فيما يلي قائمة بأنواع أعضاء الخط، مع وصفها القصير.
نوع_العضو | وصف |
---|---|
value_type | يحدد نوع العنصر. |
container_type | يحدد نوع الكتلة الأساسية. |
size_type | يحدد نطاق حجم العنصر. |
reference | إنه نوع الاستدلال للصفي. |
const_reference | إنه نوع الاستدلال للصفي المكون من القيم الثابتة. |
باستخدام الوظائف، يمكن استخدام الكائنات أو المتغيرات في مجال البرمجة. يقدم الصف العديد من الوظائف التي يمكن استخدامها أو إدراجها في البرنامج.
وظيفة | وصف |
---|---|
(constructor) | يستخدم هذا الدالة لبناء كتلة صفي. |
empty | يستخدم هذا الدالة لتجربة ما إذا كانت الصف فارغة. إذا كانت الصف فارغة، فإن هذا الدالة تعود true، وإلا تعود false. |
size | يعود هذا الدالة بعدد العناصر في الصف. |
front | يعود هذا الدالة بالعنصر الأول. العنصر يلعب دورًا مهمًا جدًا، لأن جميع العمليات الإزالة تتم على العنصر الأمامي. |
back | يعود هذا الدالة بالعنصر الأخير. العنصر يلعب دورًا مهمًا جدًا، لأن جميع العمليات الإدراج تتم على العنصر الخلفي. |
push | يستخدم هذا الدالة لإدراج عنصر جديد في نهاية الصف. |
pop | يستخدم هذا الدالة لإزالة العنصر الأول. |
emplace | يستخدم هذا الدالة لإدراج عنصر جديد فوق العنصر الحالي في نهاية الصف. |
swap | يستخدم هذا الدالة لتغيير محتويات الكتلين في المراجع. |
علاقات علاقات | وظائف غير الأعضاء تحدد العلاقات المطلوبة للصف. |
uses allocator<queue> | كما يُقال، الوظائف غير الأعضاء تستخدم مزيل القيمة للصف. |
#include <iostream> #include <queue> using namespace std; void showsg(queue<int> sg) { queue<int> ss = sg; while (!ss.empty()) { cout << '\t' << ss.front(); ss.pop(); } cout << '\n'; } int main() { queue<int> fquiz; fquiz.push(10); fquiz.push(20); fquiz.push(30); cout << "فريق fquiz هو : "; showsg(fquiz); cout << "\nfquiz.size() : " << fquiz.size(); cout << "\nfquiz.front() : " << fquiz.front(); cout << "\nfquiz.back() : " << fquiz.back(); cout << "\nfquiz.pop() : "; fquiz.pop(); showsg(fquiz); return 0; }
الإخراج:
الطابور fquiz هو : 10 20 30 fquiz.size() : 3 fquiz.front() : 10 fquiz.back() : 30 fquiz.pop() : 20 30