Python資料結構 棧

2021-07-30 00:21:01 字數 1087 閱讀 5541

棧在python中屬於擴充套件資料結構,棧屬於一端開口一端封閉的容器,

只允許在一端插入和刪除的線性表

top:插入刪除端,棧頂

push:入棧、壓棧(資料a進入棧頂,當資料b入棧,就到了棧頂,a壓入到棧頂的下乙個位置。棧只能對棧頂的位置進行操作,等b出棧後,方可對a操作。)

pop:出棧、退棧

gettop:檢視棧頂元素

__init__(self)  

建立空棧

is_empty(self)

判斷棧是否為空,空返回true

push(self, elem)

入棧, 使elem成為新的棧頂

pop(self)

彈出棧頂,若棧為空,丟擲異常

top(self)

檢視棧頂,若棧為空,丟擲異常

#stack的實現

class stack():#棧的儲存模式

def __init__(st,size):#建立空棧,st主題,size容量

st.stack=;

#stack屬性,賦為列表,棧需要在列表上改進,棧只能對棧頂操作

st.size = size;

st.top=-1;

def push(st,content):#入棧,使content稱為新的棧頂

if st.full():

print ("stack is full!")

else:

st.top=st.top+1

def out(st):#出棧

if st.empty():

print ("stack is empty!")

else:

st.top=st.top-1

def full(st):#判斷是否已滿

if st.top==st.size:

return true

else:

return false

def empty(st):#判斷是否為空

if st.top==-1:

return true

else:

return false

Python資料結構 棧

棧是一種呈線性排列的資料結構。特點是 先進後出 或 後進先出 last in first out,簡稱lifo 主要操作有兩種 入棧push 操作和出棧pop 操作,對應於增加和刪除操作,棧的增加和刪除資料只能在棧頂進行。程式 coding utf 8 created on fri jul 26 1...

資料結構 python 棧

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

資料結構 python 棧

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