python演算法9 20 棧

2021-08-28 07:30:59 字數 957 閱讀 5481

# 棧是一種線性表,但只允許在一端進行插入、刪除

# 基本原理:

# 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 棧...