python列表模擬棧 壓棧,出棧,查詢

2021-09-29 08:47:52 字數 1113 閱讀 9113

#!/root/kl/bin/python3

# author:kl

# 列表模擬棧;壓棧,出棧,查詢

flist =

# 定義棧

defpush_it()

:# 定義壓棧

data =

input

('資料: '

).strip(

)# 提示使用者輸入資料,strip去掉兩邊空格

if data:

# 判斷使用者輸入資料是否為空

else

:print

('輸入內容為空!'

)def

pop_it()

:# 定義出棧

if flist:

# 判斷是否空棧

print

('從棧中彈出: %s'

% flist.pop())

else

:print

('空棧!'

)def

view_it()

:# 定義查詢

print

(flist)

defshow_menu()

:# 選單說明

prompt =

'''(1) 壓棧

(2) 出棧

(3) 查詢

(4) 退出

請選擇(1/2/3/4): '''

cdms =

while1:

choice =

input

(prompt)

.strip(

)if choice notin[

'1',

'2',

'3',

'4']

:input

('無效輸入,請重試!'

)continue

if choice ==

'4':

print

('\nbye bye'

)break

cdms[choice]()

if __name__ ==

'__main__'

: show_menu(

)

順序出棧(模擬棧)

順序出棧 description 給出乙個容量為m的棧和乙個1 n的任意排列和,將n個數按照給定排列壓入棧中,請你求出其是否能 夠以1,2,3 n的方式出棧。input 第一行給出n和m,其中1 m n 1000,第二行給出長度為n的排列。output 如果給定的排列能以1,2,3 n的方式出棧,輸...

python完成棧的基本操作,壓棧,出棧 計算棧長

在python中不存在指標,所有需要進行鏈棧的操作時,自己初始化乙個棧的結點類,其中定義棧每乙個結點的屬性,乙個next,乙個資料 後邊的佇列和二叉樹的完成使用同樣的原理,自己定義每乙個資料結構的結點屬性值 順序棧的操作 棧的基本操作 class stacklist object def init ...

壓棧 出棧 跳轉指令 LR PC

一 壓棧和出棧 通常會在 a 函式中呼叫 b 函式,當 b 函式執行完以後再回到 a 函式繼續執行。因此必須在跳到 b 函式之前將當預處理器狀態儲存起來 儲存 r0 r15 暫存器值 當 b 函式執行完成以後再用前面儲存的暫存器值恢復 r0 r15 即可。將通用暫存器 r4 lr 入棧 pop 先入...