用python實現棧 Python實現棧的方法

2021-10-11 02:19:00 字數 1047 閱讀 7892

#!/usr/bin/env python

#定義乙個列表來模擬棧

stack =

def pu****():

#出棧,用到了pop()函式

def popit():

if len(stack) == 0:

print 'cannot pop from an empty stack!'

else:

print 'removed [',stack.pop(),']'

#編歷棧

def viewstack():

print stack

#cmds是字典的使用

cmds =

#pr為提示字元

def showmenu():

pr = """

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: """

while true:

while true:

try:

#先用strip()去掉空格,再把第乙個字元轉換成小寫的

choice = raw_input(pr).strip()[0].lower()

except (eoferror,keyboardinterrupt,indexerror):

choice = 'q'

print '\nyou picked: [%s]' % choice

if choice not in 'uovq':

print 'invalid option,try again'

else:

break

#cmds根據輸入的choice從字典中對應相應的value,比如說輸入u,從字典中得到value為pu****,執行pu****()進棧操作

if choice == 'q':

break

cmds[choice]()

#判斷是否是從本檔案進入,而不是被呼叫

if __name__ == '__main__':

showmenu()

棧 用python實現棧

分別採用有序列表 單向鏈和雙向鏈實現棧的推入 彈出等功能。方法一 有序列表的實現 直接利用python內建的list實現 class stack object def init self self.stack defpush self,item def peek self if self.isemp...

劍指Offer 用兩個棧實現佇列(Python)

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。申請兩個棧stack1和stack2,stack1當作輸入,stack2當作pop。當stack2空的時候,將stack1進行反轉,並且輸入到stack2。方法一 class solution def init sel...

用棧實現佇列 用佇列實現棧

棧的特點 filo firstinlastout 僅能從棧頂插入,刪除元素。最基本的介面包括push 從棧頂壓入元素 pop 從棧頂彈出元素 佇列的特點 fifo firstinfirstout 僅能從隊頭刪除元素,從隊尾插入元素。最基本的介面包括enque 從隊尾插入元素 deque 從隊頭刪除元...