29 اسلاید
lحالت خاصی از نوع داده عمومی لیستهای مرتب شده
lLIFO ( Last in first out)
lساختمان داده نیست بلکه نحوه استفاده از یک ساختمان داده است.
lیک آرایه نقش پشته را بازی می کند اگر :جایگذاری و حذف از یک سمت (top) انجام شود.
lنوع متغیری که در داخل استک نگهداری می شود متفاوت است.
lبهتر نیست که یک بار یک لیست را طراحی کنیم و چندین بار از آن استفاده کنیم؟
lC++ این امکان را به ما می دهد.
lبرای این که بتوانیم از یک استک برای چند بار استفاده کنیم باید از کلاس های الگو(template) استفاده کنیم.
l
(1دستور template <class KeyType> را قبل از هر کلاس وهر تابعی که در آن از template استفاده می شود قرار داده می شود.
nبه جای KeyType می توان هر اسم دیگر که در شرایط اسم در C++ صدق می کند استفاده کرد با این شرط که بعد از اسم گذاری فقط ازهمان اسم استفاده شود.
(2اگر در کلاسی از template استفاده شود تعریف توابع آن کلاس به شکل مقابل تبدیل می شوند.
template <class KeyType>
retValType myClass< KeyType > :: Func(paramet list)
{
declaration and statements
}
template <class KeyType >
void Stack< KeyType > :: Push(KeyType newElement)
{
//declaration and statements
}
پاورپوینت پشته Stack