ما هو ال stack فى البرمجة

سنتكلم اليوم على نوع من انواع هياكل البيانات المهمة فى البرمجة وسنتعرف على ما هو ال Stack وانه يستخدم لتخزين البيانات والتعامل معاها بطريقة معينة كما سنوضح بالشرح.

ما هو ال stack

الStack مدعوم من اغلب لغات البرمجة وله الكثير من الامثلة فى العالم الحقيقى مثل كتب او ورق فوق بعضه

ما هو ال stack فى البرمجة
ما هو ال stack فى البرمجة

مما يعنى ان العنصر فى الاعلى (الذى دخل اخيرًا) يمكن الحصول عليه المرة القادمة Last In First Out او اختصارًا LIFO وتعنى اخر عنصر وضع فى الاستاك يمكن الحصول عليه اوصل عنصر. ويمكننا ملاحظة انه يمكننا الوصول إلى العنصر الاول من جهة واحدة فقط من الاعلى.

ويمكن اجراء عمليتان على  Stack وهما Push و Pop وتعنى Push لادخال عنصر جديد فى ال Stack فوق اعلى عنصر و Pop لاخراج اعلى عنصر من Stack والرسمة القادمة توضح الموضوع اكثر.

خاصية مهمة لل Stack وهى ان اول عنصر وضع فى Stack يخرج اخر عنصر واخر عنصر وضع فى Stack يخرج اول عنصر مما يعنى ان ترتيب دخول العناصر فى Stack عكس ترتيب خروج هذه العناصر.

ولفهم اكبر لفكرة Stack يمكنك تجريب هذا الموقع لفهم كيف يعمل ال Stack ومن ثم المتابعة

تمثيل الStack فى البرمجة

يمكن تمثيل Stack على ان له عمليتان هما:

  1. Push
  2. Pop

وللاستفادة من Stack ومعرفة حالته يمكن استخدام هذه العمليات :

  1. Peak : لمعرفة اخر عنصر فى Stack دون حذفه
  2. IsFull : لمعرفة ما إذا كان Stack ممتلئ
  3. isEmpty : لمعرفة ما إذا كان Stack فارغ

ومؤشر او Pointer يشير إلى اعلى عنصر فى Stack واعلى عنصر كما نعلم هو الذى يجرى عليه العمليات ام يحذف Pop او يضاف فوقه عنصر Push.

كيفية عمل دالة peek

الكود التوضيحى

الكود بلغة C

كيفية عمل دالة isfull

الكود التوضيحى

الكود بلغة C

كيفية عمل دالة isempty

الكود التوضيحي

الكود بلغة C

لاحظ تنفيذ الكود مختلف قليلًا فى لغة C فنقوم باعطاء قيمية ابتدائية ل top ب 1- ثم بعد ذلك نعرف ان Stack فارغ اذا كان top اقل من صفر (لانه كل عملية Pop نقلل Index بواحد)

كيفية عمل دالة pop

عملية Pop او اضافة عنصر جديد إلى Stack هى سلسلة من الخطوات كما يلى :

  1. فحص ما إذا كان ال Stack فارغ او بمعنى اخر استدعاء دالة isEmpty.
  2. إذا كان Stack ملئ اظهار رسالة خطأ والخروج من البرنامج.
  3. اما اذا كان الStack مازال فارغًا , فنقوم بزيادة top ليشير على المكان الفارغ الموجود اعلى اخر عنصر.
  4. نضع العنصر الجديد فى اعلى مكان فى Stack.
  5. الانتهاء والعودة من الدالة.

الكود التوضيحى 

الكود بلغة C

كيفية عمل دالة Pop

الوصول إلى اخر عنصر فى Stack او اعلى عنصر لحذفه من Stack عملية تسمى Pop وهى تمر بمجموعة من الخطوات :

  1. فحص ما إذا كان Stack فارغ.
  2. إذا كان Stack فارغ الخروج واظهار رسالة خطأ.
  3. إذا لم يكن ال Stack فارغ نقوم بالوصول إلى اعلى عنصر والذى يشير إليه top.
  4. تقليل top بواحد مما يعنى حذف العنصر الاخير من الStack.
  5. الانتهاء والعودة.

الكود التوضيحى

كود بلغة C

للحصول على الكود الكامل بلغة C يرجى الضغط هنا

إلى هنا نصل للنهاية و نتمنى الاستفادة للجميع.


دورات خارجية ذات صلة

مقدمة عامة في البرمجة

دورة عن مقدمة عامة في البرمجة باللغة العربية
اشترك فى هذه الدورة
مجانى

Swift and XCode دورة أساسيات البرمجة بلغة سويفت

يمكنك تعلم البرمجة بلغة سويفت خلال اسبوع واحد فقط من خلال هذه الدورة
اشترك فى هذه الدورة

كتب بواسطة admin

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*