الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Collecting Data Items -Queue And Stack-

مغلق
بدأه عبد الكريم كنعان في 31 يوليو 2007 · 0 رد · 795 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

مرحبا،،

الصف Queue(الرتل):

هذا الصف هو أحد صفوف فضاء الأسماء System.Collections يعتمد هذا الصف على القاعدة (FIFO: First In First Out) أي ما يدخل أولا من العناصر يخرج أولا (تماما مثل أي رتل نظامي)، فيقدم هذا الصف آليه سهلة بل سهلة جدا لإدخال العناصر وفق الرتل وإخراجهم من ضمن الرتل، أهم خصائص هذا الصف وإجراءاته تجدهما في الجدولين التالين:

اسم الخاصية الوصف

Count يعطي عدد العناصر الموجودة ضمن الرتل.

اسم الاجراء الوصف

Dequeue يعيد أول عنصر موجود في مقدمة الرتل مع حذفه منها في الوقت نفسه.

Enqueue إضافة عنصر إلى نهاية الرتل.

Peek يعيد العنصر الموجود في مقدمة الرتل مع عدم حذفه.

المثال التالي يوضح مدى سهولة استعمال هذا الصف:

Queue q = new Queue();
q.Enqueue("An item");
Console.WriteLine(q.Dequeue());

يسمح لك هذا الصف بإدخل قيم مكررة أو قيم null، وتستطيع أيضا إختبار الرتل لمعرفة أنه قد فرغ أو لا، لاحظ المثال التالي:

Queue q = new Queue();

q.Enqueue("First");
q.Enqueue("Second");
q.Enqueue("Third");
q.Enqueue("Fourth");

while (q.Count > 0)
{
	Console.WriteLine(q.Dequeue());
}

الصف Stack (المكدس):

هذا الصف شبيه بسابقة إلا أنه يعتمد على قاعدة (LIFO: last-in, first out) العنصر الذي دخل آخرا يخرج أولا، فهذا الصف يسمح بتنفيذ العديد من العمليات السهلة على المكدس من دفع إلى قمة المكدس وسحب العناصر أيضا، لاحظ الجداول التالية:

اسم الخاصية الوصف

Count الحصول على عدد العناصر الموجودة في المكدس.

اسم الاجراء الوصف

Pop يعيد العنصر الموجود من قمة المكدس وبنفس الوقت يقوم بحذفه من قمة المكدس.

Push يقوم بإدخال عنصر إلى قمة المكدس.

Peek يعيد العنصر الموجود في قمة المكدس مع عدم حذفه.

المثال التالي يبين سهولة التعامل مع المكدس:

Stack s = new Stack();
s.Push("An item");
Console.WriteLine(s.Pop());

لاحظ أيضا هذا المثال:

Stack s = new Stack();

s.Push("First");
s.Push("Second");
s.Push("Third");
s.Push("Fourth");

while (s.Count > 0)
{
	Console.WriteLine(s.Pop());
}

سينتج مايلي:

Fourth

Third

Second

First

يتبع...

هذا الموضوع مغلق.

مواضيع مشابهة