TechBord Logo
TechBord detail

پشته (Stack) چیست؟

در محاسبات، پشته یک ساختار داده ای است که برای ذخیره مجموعه ای از اشیاء استفاده می شود. با استفاده از یک عملیات فشار می‌توان آیتم‌های فردی را اضافه کرد و در یک پشته ذخیره کرد. اشیاء را می توان با استفاده از یک عملیات pop بازیابی کرد، که یک مورد را از پشته حذف می کند.

هنگامی که یک شی به یک پشته اضافه می شود، روی آن قرار می گیرد. بالای همه موارد وارد شده قبلی هنگامی که یک مورد حذف می شود، می توان آن را از بالا یا پایین پشته حذف کرد. پشته ای که در آن آیتم ها از قسمت بالایی حذف می شوند، پشته "آخرین ورود، اولین خروج (LIFO)" (آخرین ورود، اولین خروج) در نظر گرفته می شود. می‌توانید یک پشته LIFO را به‌عنوان دسته‌ای از کارت‌ها تصور کنید که در آن کارت‌های جداگانه را روی عرشه می‌گذارید، سپس کارت‌ها را از بالا می‌کشید. در پشته "اولین ورودی اولین خروجی (FIFO)" (اول وارد، اول بیرون)، موارد از پایین حذف می شوند. می‌توانید یک پشته FIFO را به‌صورت ردیفی در یک ماشین خودکار تصور کنید که در آن اقلام به ترتیبی که در دستگاه قرار گرفته‌اند توزیع می‌شوند.

پشته‌ها کاربردهای مختلفی در برنامه‌نویسی رفت و آمد دارند. به عنوان مثال، پشته های LIFO می توانند برای بازیابی اشیاء اخیراً استفاده شده از حافظه پنهان (Cache) استفاده شوند. پشته های FIFO ممکن است برای اطمینان از بازیابی داده ها به ترتیب وارد شده استفاده شوند، که ممکن است برای پردازش داده ها در صف (Queue) استفاده شود.

در حالی که پشته ها معمولاً توسط برنامه نویسان نرم افزار استفاده می شوند، شما معمولاً هنگام استفاده از برنامه (Program) متوجه آنها نخواهید شد. این به این دلیل است که ایجاد پشته و عملیات فشار و پاپ در پس‌زمینه انجام می‌شود، در حالی که برنامه کاربردی (Application) در حال اجرا است و برای کاربر قابل مشاهده نیست. با این حال، اگر یک پشته از حافظه (Memory) تمام شود، باعث "سرریز شدن پشته" می شود. اگر برنامه به درستی مدیریت نشود، سرریز پشته ممکن است یک پیام خطا ایجاد کند یا باعث شود برنامه به تصادف در (Crash) تبدیل شود.

توجه: اصطلاح "پشته" ممکن است به یک پشته، که از چندین پروتکل شبکه تشکیل شده است که با هم کار می کنند. هر پروتکل در یکی از هفت لایه مختلف تعریف شده در پروتکل (Protocol) طبقه بندی می شود.

تعریف اصطلاح پشته (Stack) توسط تک بورد

تعریف پشته (Stack) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف پشته (Stack) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.