الفصل(15): الفئتان Stack و Queue - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة تعليم البرمجة باستخدام VB.net, (http://vb4arb.com/vb/forumdisplay.php?fid=129) +---- الموضوع : الفصل(15): الفئتان Stack و Queue (/showthread.php?tid=4387) |
الفصل(15): الفئتان Stack و Queue - B3dak Hbebe - 23-09-12 السلام عليكم ورحمة الله وبركاته موضوعنا لليوم خفيف وبسيط الفئة Stack : يمكن تسمية الفئة Stack بالمكدسة وهي تطبق خوارزمية LIFO - Last In First Out بمعنى أول ما يدخل أول ما يخرج ويمكن تمثيل العملية بالشكل التالي لنعرف كائن جديد من هذه الفئة : كود : [color=#000000] [COLOR=#0000BB]Dim stk [/color][color=#007700]As New [/color][color=#0000BB]Stack[/color][color=#007700]([/color][color=#0000BB]Of String[/color][color=#007700]) [/color][/COLOR] في السطر السابق صرحنا عن كائن جديد من نوع Stack وجعلناها مكدسة كائنات من النوع String طرق هذه الفئة - ليس جميعها - :
كود : [color=#000000][COLOR=#0000BB]stk[/color][color=#007700].[/color][color=#0000BB]Push[/color][color=#007700]([/color][color=#DD0000]"Mohammed"[/color][COLOR=#007700])
كود : [color=#000000][COLOR=#0000BB]يصبح عدد العناصر بعد الازالة 2 WriteLine[/color][color=#007700]([/color][color=#0000BB]stk[/color][color=#007700].[/color][color=#0000BB]Pop[/color][color=#007700]) [/color][COLOR=#DD0000]' Islam وبعد أن أصبحت المكدسة فارغة لو قمنا بعملية إزالة أخرى سيصدر خطأ لأن المكدسة فارغة...
كود : [color=#000000] [COLOR=#0000BB]stk[/color][color=#007700].[/color][COLOR=#0000BB]Clear
كود : [color=#000000][COLOR=#007700]If [/color][color=#0000BB]stk[/color][color=#007700].[/color][color=#0000BB]Contains[/color][color=#007700]([/color][color=#DD0000]"Lo2i"[/color][color=#007700]) [/color][COLOR=#0000BB]Then
تقوم هذه الطريقة بنسخ عناصر المكدسة لمصفوفة مع تحديد رقم الفهرس من المصفوفة للبدء بالنسخ انطلاقا منه كود : [color=#000000][COLOR=#0000BB]Dim stk [/color][color=#007700]As New [/color][color=#0000BB]Stack[/color][color=#007700]([/color][color=#0000BB]Of String[/color][COLOR=#007700]) والناتج : كود : Islam لاحظ أنه عند عملية النسخ لا يبدأ بالنسخ من الصفر بل من آخر عنصر وصولا لأول عنصر أيضا يجب الانتباه بألا تخرج عملية النسخ عن حدود المصفوفة
كود : [color=#000000] [COLOR=#0000BB]MsgBox[/color][color=#007700]([/color][color=#0000BB]stk[/color][color=#007700].[/color][color=#0000BB]Count[/color][COLOR=#007700])
كود : [color=#000000] [COLOR=#0000BB]stk[/color][color=#007700].[/color][COLOR=#0000BB]Peek
تقوم بإرجاع مصفوفة بالعناصر الموجودة في المكدسة ويجب أن تكون من نفس النوع للمكدسة كود : [color=#000000] [COLOR=#0000BB]Dim strArray[/color][color=#007700]() As [/color][color=#0000BB]String [/color][color=#007700]= [/color][color=#0000BB]stk[/color][color=#007700].[/color][color=#0000BB]ToArray [/color][/COLOR] الآن ننتهي من الفئة Stack الفئة Queue: يمكن تسميتها بالطابور وتطبق مبدأ FIFO - First In First Out أي ما يضاف أولا يخرج أولا ويمكن تمثيل العملية بالشكل التالي : طرقها :
كود : [color=#000000][COLOR=#0000BB] Dim que [/color][color=#007700]As New [/color][color=#0000BB]Queue[/color][color=#007700]([/color][color=#0000BB]Of String[/color][COLOR=#007700])
كود : [color=#000000] [COLOR=#0000BB]que[/color][color=#007700].[/color][color=#0000BB]Dequeue[/color][color=#007700]() [/color][/COLOR][COLOR=#000000][COLOR=#007700] أما بالنسبة لباقي الطرق فلا تختلف كثيرا عن المكدسة الفصل(15): الفئتان Stack و Queue - abdoojh - 25-02-13 اولا اخي العزيز الفصل (14 ) غير موجود اما لانه محذوف او انكم اخطأتم في وضع الارقام ************ وبارك الله فيكم على المجهودات الطيبة الفصل(15): الفئتان Stack و Queue - خليل اسماعيل - 27-04-13 بارك الله فيك |