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 來訪問。以指定長度的...