# 棧是一種線性表,但只允許在一端進行插入、刪除
# 基本原理:
# 1.棧有固定長度,stack.size
# 2.棧有入棧、出棧操作,push、pop
# 3.入棧時需要考慮棧是否已滿,出棧時需要考慮棧是否為空
# 4.棧有指標,指示棧中元素個數
class stack():
def __init__(self,size):
self.size = size
self.items =
self.top = -1
def isfull(self):
return self.top == self.size-1
def isempty(self):
return self.top == -1
def push(self,item):
if self.isfull():
raise exception("wrong operation! stack if full!")
else:
self.top += 1
def pop(self):
if self.isempty():
raise exception("wrong operation! stack if empty!")
else:
self.top -= 1
self.items.pop()
def show(self):
print(self.items)
if __name__ == '__main__':
s = stack(5)
for i in range(4):
s.push(i)
s.show()
for i in range(2):
s.pop()
s.show()
演算法練習9 20
洛谷1422 include include includeint main void else std cout.setf std ios fixed std cout std setprecision 1 fee std endl system pause return 0 if條件語句。為了練...
領扣LintCode演算法問題答案 920 會議室
領扣lintcode演算法問題答案 920.會議室 給定一系列的會議時間間隔,包括起始和結束時間 s1,e1 s2,e2 si ei 確定乙個人是否可以參加所有會議。0,8 8,10 在8這這一時刻不衝突 樣例 1 輸入 intervals 0,30 5,10 15,20 輸出 false 解釋 0...
資料結構及演算法(Python) 棧
1 資料儲存方式 可以採用列表或單鏈表 2 操作 stack 建立乙個新的空棧 push data 新增乙個新的元素data到棧頂 pop 彈出棧頂元素 peek 返回棧頂元素 is empty 判斷棧是否為空 size 返回棧的元素個數 採用列表儲存的方式 class stack object 棧...