پشته
From Wikipedia, the free encyclopedia
پشته[1][2] (به انگلیسی: stack) یکی از انواع دادهساختارها[3] (ساختمان داده) است و برای ذخیره و بازیابی دادهها کاربرد دارد. پشته در طراحی و پیادهسازی سیستمهای نرمافزاری و سختافزاری، فراوان به کار میرود. شیوهٔ عملکرد پشته بر اساس سیاست LIFO است.
ساختارهای خطی دادهها |
---|
آرایه |
پشته (stack) ساختمان داده ای است که از لیست یا فهرست برای سازماندهی داده ها استفاده میکند و در عین حال از انتزاع نیز پشتیبانی میکند و یک نوع داده انتزاعی را فراهم میسازد. در پشته عمل اضافه کردن و حذف عنصر، فقط در یک طرف آن، بنام بالای پشته انجام میشود. یعنی عنصری که از همه دیرتر وارد پشته شد، از همه زودتر از پشته حذف میگردد. بهمین دلیل گفته میشود که پشته از سیاست خروج به ترتیب عکس ورود (LIFO) پیروی میکند.
عملیات های پشته در ساختمان داده ها: از آنجایی که عناصر پشته فقط از یک طرف (بالای پشته) قابل دستیابی اند. پس عملیات های متعددی را میتوان روی پشته انجام داد که چند عملیات زیر بهعنوان عملیات اصلی پشته مطرح اند:
- Push : که عنصری را به بالای پشته اضافه میکند.
- Pop : که عنصر بالای پشته را حذف میکند.
- Peek : که عنصر بالای پشته را بازیابی میکند ولی حذف نمیکند.
- StackEmpty : که خالی بودن پشته را تست میکند.
- Clear : تمام عناصر پشته را حذف میکند.
- Contains : مشخص میکند که عنصری در پشته وجود دارد یا خیر.
- CopyTo : محتویات پشته را درآرایه ای از نوع شی کپی میکند.
در حقیقت پشته، یکی از سه بخش تخصیص یافته به یک برنامه در حال اجرا در حافظه (RAM) میباشد. پس از اجرای هر برنامه کاربردی آن برنامه برای پردازش توسط پردازشگر، به سه بخش در حافظه تقسیم و ذخیره میگردد تا در دسترس پردازشگر قرار بگیرد. این سه بخش شامل موارد زیر هستند: