گذاشتن و برداشتن عناصر در پشته ها به چه شکلی صورت می گیرد
گذاشتن و برداشتن عناصر در پشته ها به چه شکلی صورت می گیرد
گذاشتن و برداشتن عناصر در پشته ها به چه شکلی صورت می گیرد
هر پشته یک ساختمان دادهاي همهپوش (generic (است. یعنی ما میتوانیم عناصـري از هر نوع دادهاي را به آن اضافه کنیم. مثال زیر دو عدد صحیح و یک رشته را روي پشته قرار میدهد:
>>> s = Stack()
>>> s.push(54)
>>> s.push(45)
>>> s.push(“+”)
ما میتوانیم با استفاده از isEmpty و pop تمام عناصر پشته را حذف کرده و چاپ نماییم:
while not s.isEmpty():
print s.pop(),
خروجی 54 45 + است. به بیان دیگر ما تنها از پشته جهت چاپ عناصـر بـه طـور معکـوس استفاده کردیم. مسلماً این قالب استانداردي براي چاپ یک لیست نیست، اما انجام این کار با استفاده از یــک پشـته بــهطــور چشـمگیري ســاده بــود. شــما مــیتوانیـد ایــن کــد کوتـاه را بــا پیـاده ســازي printBackward از بخش 17-4 مقایسه کنید. در اینجا یک تشابه و تـوازن طبیعـی میـان نسـخۀ بازگشــتی printBackward و الگــوریتم پشــته وجــود دارد، امــا تفــاوت ایــن اســـت کـــه printBackward از یک پشتۀ زمان اجرا براي نگـه داشـتن رد گـرههـا در طـول پیمـایش لیسـت استفاده میکند و سپس آنها را به روش بازگشت از انتها چاپ میکند. الگـوریتم پشـته، عمـل یکسـانی انجام میدهد، با این تفاوت که بهجـاي اسـتفاده از پشـته زمـان اجـرا از یـک شـیء Stack اسـتفاده میکند.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید