classای به نام Stack تعریف شده است :
- این class به صورت template پیادهسازی شده است.
- توابع سازندهی کپی و مخرب پیادهسازی شده اند.
- علاوه بر سازندهی کپی؛ سازندهای تعریفشده است که هیچ ورودی نمیگیرد و یک پشته با اندازهی صفر ایجاد میکند.
- توابع زیر برای این class پیاده سازی شده اند:
- push: یک داده گرفته و در پشته ذخیره میکند.
- pop: داده را از پشته خارج و بازمیگرداند.
- top: دادهی بالای پشته را بازمیگرداند اما از پشته خارج نمیکند.
- size: تعداد دادههای ذخیره در پشته را بازمیگرداند.
محاسبهی عبارت پسوندی:
با استفاده از پشتهای که تعریف شده است؛ تابعی به نام postfix تعریف شده است. این تابع یک ورودی رشته (* char) با قالببندی «لهستانی معکوس» میگیرد و حاصل آن را بازمیگرداند. عملگرها و عملوندها (اعداد) با نویسهی فاصله از یکدیگر جدا شدهاند.عملگرها شامل جمع، تفریق، ضرب، تقسیم و توان میباشند. اعداد به صورت اعشاری میباشند.
پیاده سازی ساختمان دادهی پشته (++C)