14-10-12, 04:09 PM
Stack :
مثل ال Queue فيما عدا انه يتبع تقنية LIFO - Last Input First Output ، حيث ان العنصر الآخير في الدخول هو الأول في الخروج ، يتم ادخال العناصر باستخدام Push ويتم اخراجها باستخدام pop ، ال Peek تقوم بمهمتها كما هي في عرض العنصر الأول وهو في حالتنا الآخر دخولاً دون حذفه من ال Stack .
تعريف ال Stack يتم ببساطة بالشكل التالي :
C#:
vb.net:
الاستخدامات :
يسهل تصور استخدامات من اجل ال Queue ، ذلك ان معظم تطبيقات حياتنا اليومية تعتمد على ذلك ، حيث الواصل أولاً يخدم اولاً ، لكن ال Stack بمبدئة المنافي للعدالة ربما سيكون غريباً بعض الشيء تطبيقه في حياتنا الحقيقية ، لذا فإن استخدام ال Stack يقتصر في العادة على تطبيقات الكومبيوتر .
ابسط استخدام لل Stack هو حل المعادلات في البروسيسور ، إن المعادلة :
A + B
تدخل إلى البروسيسور بالشكل التالي :
AB+
يسمى هذا الاسلوب باسم postfix، وفي البروسيسور يتم ادخالهم في stack لتنفيذهم حيث ان تنفيذهم لن يتم بترتيب الوصول ، مثال آخر في ترجمة ال Compilers ايضاً .
في المرفقات برنامج يوضح كيفية التحويل بين postfix و infix كان احد مشاريع الكلية في الفرقة الثالثة ل FUTEX Group ، يوضح البرنامج كيفية التحويل وكيفية يقوم البروسيسور بوضعهم في stack وتنفيذهم ، قم باختيار View لاستعراض سرعة عرض الخطوات ، يمكنك الحل باستخدام الارقام او الرموز ويمكنك الاختيار فيما بينهما من اعلى النافذة . هذا إذا كنت مهتماً ببعض التفاصيل .
http://vb4arb.com/vb/uploaded/18_01350216520.rar
مزيد من التفاصيل تجدها في موقع MSDN هنا :
http://msdn2.microsoft.com/en-us/library/aa289149(VS.71).aspx
كل ما سبق في هذا الدرس ينطبق تحت علم Data Structure ، يمكنك الانطلاق من هذه النقطة إذا كنت ترغب في معرفة الكثير عن هذا العالم الذي يتداخل معك كثيراً في عالمك ، سيفيدك ان تكون مطلعاً على اساسياته اضافة لعلم ال Algorithms .
ايضاً هناك ما يعرف باسمSystem.Collections.Specialized ويحتوي على فئات اخرى اكثر تخصصاً مشتقة من الفئات السابقة .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
مثل ال Queue فيما عدا انه يتبع تقنية LIFO - Last Input First Output ، حيث ان العنصر الآخير في الدخول هو الأول في الخروج ، يتم ادخال العناصر باستخدام Push ويتم اخراجها باستخدام pop ، ال Peek تقوم بمهمتها كما هي في عرض العنصر الأول وهو في حالتنا الآخر دخولاً دون حذفه من ال Stack .
تعريف ال Stack يتم ببساطة بالشكل التالي :
C#:
كود :
Stack jobStack = new Stack();كود :
Dim jobStack As New Stack()الاستخدامات :
يسهل تصور استخدامات من اجل ال Queue ، ذلك ان معظم تطبيقات حياتنا اليومية تعتمد على ذلك ، حيث الواصل أولاً يخدم اولاً ، لكن ال Stack بمبدئة المنافي للعدالة ربما سيكون غريباً بعض الشيء تطبيقه في حياتنا الحقيقية ، لذا فإن استخدام ال Stack يقتصر في العادة على تطبيقات الكومبيوتر .
ابسط استخدام لل Stack هو حل المعادلات في البروسيسور ، إن المعادلة :
A + B
تدخل إلى البروسيسور بالشكل التالي :
AB+
يسمى هذا الاسلوب باسم postfix، وفي البروسيسور يتم ادخالهم في stack لتنفيذهم حيث ان تنفيذهم لن يتم بترتيب الوصول ، مثال آخر في ترجمة ال Compilers ايضاً .
في المرفقات برنامج يوضح كيفية التحويل بين postfix و infix كان احد مشاريع الكلية في الفرقة الثالثة ل FUTEX Group ، يوضح البرنامج كيفية التحويل وكيفية يقوم البروسيسور بوضعهم في stack وتنفيذهم ، قم باختيار View لاستعراض سرعة عرض الخطوات ، يمكنك الحل باستخدام الارقام او الرموز ويمكنك الاختيار فيما بينهما من اعلى النافذة . هذا إذا كنت مهتماً ببعض التفاصيل .
http://vb4arb.com/vb/uploaded/18_01350216520.rar
مزيد من التفاصيل تجدها في موقع MSDN هنا :
http://msdn2.microsoft.com/en-us/library/aa289149(VS.71).aspx
كل ما سبق في هذا الدرس ينطبق تحت علم Data Structure ، يمكنك الانطلاق من هذه النقطة إذا كنت ترغب في معرفة الكثير عن هذا العالم الذي يتداخل معك كثيراً في عالمك ، سيفيدك ان تكون مطلعاً على اساسياته اضافة لعلم ال Algorithms .
ايضاً هناك ما يعرف باسمSystem.Collections.Specialized ويحتوي على فئات اخرى اكثر تخصصاً مشتقة من الفئات السابقة .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
