![]() |
|
هياكل البيانات Data Structures المكدس Stack- الجزء الثاني - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : هياكل البيانات Data Structures المكدس Stack- الجزء الثاني (/showthread.php?tid=4826) |
هياكل البيانات Data Structures المكدس Stack- الجزء الثاني - RaggiTech - 02-10-12 كاتب الموضوع : محمد شريقي
بسم الله الرحمن الرحيم
كنت قد تكلمت عن الصف QUEUE في هذا الموضوع هياكل البيانات Data Structures الصف Queue : الجزء الاول وساتكلم هنا عن المكدس Stack وهو احد بنى المعطيات وذلك لما له من فائدة في الاستخدام البرمجي [SIZE=4]اولا: ما هو المكدس Stack ؟ هو عبارة عن مصفوفة تحوي اي نوع من البيانات تقوم انت بتحديده ولكنها تتميز بأنها تتبع اسلوب ال LIFO والذي يعني Last In First Out او الداخل اخيرا خارج اولا اي انه لا يمكنك اخد الا العنصر الاخير منها وبعدما تاخذه رح ينحذف من المكدس وهو يشبه العلبة اي ان ما يتم اضافته اخيرا يتم سحبه اولا مثلا اذا وضعنا اغراض بعلبة ما فانك لن تستطيع ازالة الغرض الاول الذي وضعته الا بعد ازالة جميع الاغراض التي فوقه ثانياً: كيف اعرف المكدس Stack؟ سهل وجاهز كالعادة كود : Dim S As New stack(Of String)وطبعا تستطيع ان تحدد نوع بيانات اخر مكان String المهم الان اصبح عندك lمكدس جاهز للاستخدام ثالثا: كيف اضيف البيانات الى المكدس Stack ؟ ما عليك الا ان تستخدم الدالة Push ويتم ذلك بهذا الشكل كود : S.Push("Any String")رابعاً: كيف استخرج البيانات من المكدس Stack ؟ ايضا لا داعي للقلق فهذا اسهل مما تتصور استخدم الدالة Pop وهي ستقوم بالمطلوب ستعيد لك العنصر الاخير من المكدس ثم ستقوم بحذفه من المكدس ويتم استخامها بهذا الشكل كود : Dim X As String = S.Popهنا وضعنا العنصر الاخير بالمتغير X وطبعا تستطيع استعماله كما تريد خامساً: بماذا يفيدني الصف المكدس Stack ؟ يصراحة المكدس هام جدا جدا جدا في البرمجة ومستحيل ان يخلو اي برنامج منه فعند استدعاء اي دالة او تابع فإن قيمة مؤشر الذاكرة يتم حفظخا في المكدس ومن ثم يتم استرجاعها عند الانتهاء وايضا يفيد في عمل برنامج الة حاسبة وهو ما ساتكلم عنه في الدروس القادمة ان شاء الله وهذا مثال بسيط لاستخدامه كود : Public Class Form1ولاحظ سهولة استخدام المكدس ايضا في ادخال البيانات و استعادتعا ومعالجتها طبعا يوجد دوال اخرى يمكنك استخدامها مثل الدالة count تعيد عدد العناصر في المكدس والدالة peek تعيد العنصر الاخير ولكن دون حذفه وهما اهم دالتين بعد اللي مذكور فوق [/SIZE] |