Python實現的棧(stack)

2021-10-05 02:14:56 字數 1068 閱讀 8951

class

stack

:def

__init__

(self)

: self.__stack =

# 推入元素到棧的頂端

defpush

(self, item)

:# 從棧的頂端拿走元素

defpop

(self)

: self.__stack.pop(

)# 檢查是否為空

defis_empty

(self)

:return

len(self.__stack)==0

# 檢視頂部元素

deftop_item

(self)

:return self.__stack[

len(self.__stack)-1

]# 檢視棧的大小

defsize

(self)

:return

len(self.__stack)

if __name__ ==

"__main__"

: box = stack(

)for i in

range(1

,11):

box.push(i)

print

('檢視棧的大小:'

需要注意的是.pop()返回的是刪除的元素的本身。

例如:

a =[1

,2,3

,4]print

(a.pop(

))

列印出來的是 4。

棧(Stack)的Python實現

棧就是只能在一端插入和刪除資料的鍊錶,這個端就叫做棧頂 top 最後乙個新增的資料第乙個被刪除。因此,這也叫後進先出 last in first out 鍊錶或是先進後出鍊錶 first in last out 舉個例子,餐廳的盤子堆,盤子洗完要堆到上面,而不是插到下面的某個位置 相信不會有人那麼做...

棧Stack的實現及其應用

棧 先進後出 實現方式有兩種,一種使用陣列,一種是鏈式結構 使用陣列的缺點就是在定義棧的時候就需要以某值初始化陣列,確定陣列的大小,也就是確定了棧的深度 棧 底層用陣列實現 public class arrstack 陣列滿的時候棧滿 public boolean isfull 棧空時top為 1 ...

棧(Stack)原理及實現

目錄 棧概述順序結構實現 鍊錶結構實現 歸納起來 棧就是一種後進先出 lifo 的線性表。棧常用操作 順序儲存結構的棧簡稱為順序棧,它利用一組位址連續的儲存單元依次存放從棧底到棧頂的資料元素。棧底位置固定不變,它的棧頂元素可以直接通過順序棧底層陣列的陣列元素arr size 1 來訪問。以指定長度的...