這裡借助python的list結構,實現順序棧,其中的一些棧操作都是借助list的一些內建操作來實現的。
classstackunderflow(valueerror):#以list實現了順序棧的結構passclasssstack():
def__init__(self):
self.__elmes =
defis_empty(self):
returnself.__elmes ==
deftop(self):
ifself.__elmes == :
raisestackunderflow("in sstack.top()")
returnself.__elmes[-1]
defpush(self,elem):
defpop(self):
ifself.__elmes == :
raisestackunderflow("in sstack.pop()")
returnself.__elmes.pop()#list中的pop沒有給出元素時,預設彈出最後乙個元素
st1= sstack()
st1.push(3)
st1.push(5)
while notst1.is_empty():
print(st1.pop())
#輸出:5 3
資料結構Python實現 棧
有些地方稱為堆疊。可以存入 訪問 刪除元素,其只能允許在容器的一端進行載入資料和輸出資料,任何時候訪問和刪除的資料都是最好存入的那個資料,預設了訪問的順序。其原理為後進先出。pop 彈出棧頂元素 peek 返回棧頂元素,只是得到其數值並不彈出來 stack 建立乙個新的空棧 size 返回棧的元素個...
python如何實現棧 Python實現棧的方法
usr bin env python 定義乙個列表來模擬棧 stack def pu 出棧,用到了pop 函式 def popit if len stack 0 print cannot pop from an empty stack else print removed stack.pop 編歷棧...
用python實現棧 Python實現棧的方法
usr bin env python 定義乙個列表來模擬棧 stack def pu 出棧,用到了pop 函式 def popit if len stack 0 print cannot pop from an empty stack else print removed stack.pop 編歷棧...