Python資料結構 棧

2021-09-25 14:50:05 字數 1199 閱讀 8785

棧是一種呈線性排列的資料結構。特點是「先進後出」或「後進先出(last in first out,簡稱lifo)」,主要操作有兩種:入棧push()操作和出棧pop()操作,對應於增加和刪除操作,棧的增加和刪除資料只能在棧頂進行。

程式:

# -*- coding: utf-8 -*-

"""created on fri jul 26 16:39:07 2019

@author: cc

"""#python實現棧

class

stack()

:def

__init__

(self,size)

: self.size=size

self.stack=

self.top=-1

defpop

(self)

:if self.top==-1

:print

("empty"

)else

: self.top=self.top-

1 self.stack.pop(

)def

push

(self,data)

:if self.is_full():

print

('full'

)else

: self.top=self.top+

1def

is_empty

(self)

:return self.stack==

defis_full

(self)

:if self.top==self.size-1:

return

true

else

:return

false

defshowstack

(self)

:print

(self.stack)

#測試

st=stack(5)

for i in

range(5

):st.push(i)

st.push(10)

st.showstack(

)

執行結果:

full

[0, 1, 2, 3, 4]

Python資料結構 棧

棧在python中屬於擴充套件資料結構,棧屬於一端開口一端封閉的容器,只允許在一端插入和刪除的線性表 top 插入刪除端,棧頂 push 入棧 壓棧 資料a進入棧頂,當資料b入棧,就到了棧頂,a壓入到棧頂的下乙個位置。棧只能對棧頂的位置進行操作,等b出棧後,方可對a操作。pop 出棧 退棧 gett...

資料結構 python 棧

所有動畫演示可以在visualgo這個 上找到。棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。棧允許進行插入和刪除操作的一端稱為棧頂 top 另一端為棧底 bottom 棧底固定,而棧頂浮動 棧中元素個數為零時稱為空棧。插入一般稱為進棧 push 刪...

資料結構 python 棧

1.棧 stack 有進有出,有順序結構和鍊錶結構。在操作上有進有出,形成了線性結構的關係。1 鍊錶結構,在記憶體上儲存的位置可以是一塊一塊的,通過指標的指向將他們連線在一起。可以靈活運用記憶體,但演算法較為複雜。2 順序結構,是用陣列來實現,比較簡單,但是陣列大小是事先規劃好的,大了浪費記憶體,小...