قائمة انتظار C# مع أمثلة: ما هي قائمة انتظار C# وكيفية استخدامها؟
ما هي قائمة الانتظار في C#؟
قائمة الانتظار عبارة عن مجموعة حالات خاصة تمثل مفهوم ما يرد أولاً يخرج أولاً. تخيل طابورًا من الناس ينتظرون الحافلة. عادة، أول شخص يدخل في قائمة الانتظار هو أول شخص يصعد إلى الحافلة. وبالمثل، فإن آخر شخص يدخل في قائمة الانتظار سيكون آخر شخص يدخل إلى الحافلة. تتم إضافة العناصر إلى قائمة الانتظار، واحدة فوق بعضها البعض.
عملية إضافة عنصر إلى قائمة الانتظار هي عملية enqueuer. لإزالة عنصر من قائمة الانتظار، يمكنك استخدام عملية dequeuer. العملية في Queues C# تشبه stack التي رأيناها سابقًا.
دعونا نلقي نظرة على كيفية استخدام Queue في C# والعمليات المتاحة لمجموعة Queue في C# بمزيد من التفاصيل.
إعلان قائمة الانتظار
يتم توفير إعلان قائمة الانتظار أدناه. يتم إنشاء قائمة الانتظار بمساعدة نوع بيانات قائمة الانتظار. يتم استخدام الكلمة الأساسية "جديد" لإنشاء كائن في قائمة الانتظار. ثم يتم تعيين الكائن إلى المتغير كيو تي.
Queue qt = new Queue()
إضافة عناصر إلى قائمة الانتظار
يتم استخدام طريقة enqueue لإضافة عنصر إلى قائمة الانتظار. ويرد أدناه بناء الجملة العام للبيان.
Queue.enqueue(element)
إزالة العناصر من قائمة الانتظار
تُستخدم طريقة dequeue لإزالة عنصر من قائمة الانتظار. ستعيد عملية dequeue العنصر الأول من قائمة الانتظار. يتم تقديم الصيغة العامة للبيان أدناه
Queue.dequeue()
العد التنازلي
يتم استخدام هذه الخاصية لمعرفة عدد العناصر الموجودة في قائمة الانتظار. وفيما يلي بناء الجملة العام لهذا البيان.
Queue.Count
يحتوي
تُستخدم هذه الطريقة لمعرفة ما إذا كان العنصر موجودًا في قائمة الانتظار. وفيما يلي بناء الجملة العام لهذا البيان. سترجع العبارة صحيحًا إذا كان العنصر موجودًا، وإلا فسوف تُرجع القيمة خطأ.
Queue.Contains(element)
الآن، دعونا نرى هذا يعمل على مستوى التعليمات البرمجية. ستتم كتابة كافة التعليمات البرمجية المذكورة أدناه إلى تطبيق وحدة التحكم لدينا.
ستتم كتابة الكود في ملف Program.cs الخاص بنا. في البرنامج أدناه، سنكتب الكود لنرى كيف يمكننا استخدام الطرق المذكورة أعلاه.
مثال
في مثال قائمة الانتظار هذا في لغة C#، سنرى كيف يتم إنشاء قائمة الانتظار. بعد ذلك، سنرى كيفية عرض عناصر قائمة الانتظار، واستخدام طريقتي Count وContain.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
foreach (Object obj in qt)
{
Console.WriteLine(obj);
}
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("The number of elements in the Queue " + qt.Count);
Console.WriteLine("Does the Queue contain " + qt.Contains(3));
Console.ReadKey();
}
}
}
Code تفسير
- يتم استخدام الخطوة الأولى للإعلان عن قائمة الانتظار. نعلن هنا عن qt كمتغير للاحتفاظ بعناصر قائمة الانتظار الخاصة بنا.
- بعد ذلك، نضيف 3 عناصر إلى قائمة الانتظار الخاصة بنا. تتم إضافة كل عنصر عبر طريقة "enqueue".
- الآن هناك شيء واحد يجب ملاحظته حول قوائم الانتظار وهو أنه لا يمكن الوصول إلى العناصر عبر موضع الفهرس مثل قائمة المصفوفة. نحتاج إلى استخدام طريقة مختلفة لعرض عناصر قائمة الانتظار. إذن، إليك كيفية عرض عناصر قائمة الانتظار.
- نعلن أولاً عن متغير مؤقت يسمى obj. سيتم استخدام هذا للاحتفاظ بكل عنصر من عناصر قائمة الانتظار.
- نستخدم بعد ذلك عبارة foreach لتصفح كل عنصر من عناصر قائمة الانتظار.
- لكل عنصر من عناصر قائمة الانتظار، يتم تعيين القيمة لمتغير obj.
- نستخدم بعد ذلك الأمر Console.Writeline لعرض القيمة على وحدة التحكم.
- نحن نستخدم خاصية "العدد" للحصول على عدد العناصر في قائمة الانتظار. ستُرجع هذه الخاصية رقمًا. ثم نعرض هذه القيمة على وحدة التحكم.
- نستخدم بعد ذلك طريقة "يحتوي على" لمعرفة ما إذا كانت القيمة 3 موجودة في قائمة الانتظار الخاصة بنا. سيعود هذا إما بقيمة صحيحة أو خاطئة. نقوم بعد ذلك بعرض قيمة الإرجاع هذه على وحدة التحكم.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تشغيل البرنامج، فسيتم عرض الإخراج التالي.
الناتج
من الناتج، يمكننا أن نرى بوضوح أن عناصر قائمة الانتظار معروضة. لاحظ أنه على عكس "كومة"في ""طابور""، يتم عرض أول عنصر تم دفعه إلى الطابور أولاً. كما يتم عرض عدد عناصر الطابور في الإخراج. كما يتم عرض قيمة True للإشارة إلى أن القيمة 3 محددة في الطابور.
قائمة انتظار C#
الآن دعونا نلقي نظرة على وظيفة الإزالة. سنرى الكود المطلوب لإزالة العنصر الأخير من قائمة الانتظار.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
qt.Dequeue();
foreach (Object obj in qt)
{
Console.WriteLine(obj);
}
Console.ReadKey();
}
}
}
Code تفسير
- هنا نقوم فقط بإصدار طريقة "dequeue"، والتي تُستخدم لإزالة عنصر من قائمة الانتظار. ستؤدي هذه الطريقة إلى إزالة العنصر الأول من قائمة الانتظار.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تشغيل البرنامج، فسيتم عرض الإخراج التالي.
الإخراج:
من المخرجات، يمكننا أن نرى أن العنصر الأول الذي تمت إضافته إلى قائمة الانتظار، وهو العنصر 1، تمت إزالته من قائمة الانتظار.
ملخص
تعتمد قائمة الانتظار على مفهوم "الأول في الدخول أول في الخروج". وتسمى عملية إضافة عنصر إلى قائمة الانتظار عملية "الإدراج في قائمة الانتظار". وتسمى عملية إزالة عنصر من قائمة الانتظار عملية "الإزالة من قائمة الانتظار".
