91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現棧結構的方法

發布時間:2020-08-05 17:27:07 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

小編給大家分享一下Python實現棧結構的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

棧(stack)又名堆棧,它是一種運算受限的線性表。在Python中可使用列表進行實現。

什么是棧?

棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

如何實現?

在Python中使用列表來實現:

#!/usr/bin/env python 
#定義一個列表來模擬棧 
stack = [] 
#進棧,調用列表的append()函數加到列表的末尾,strip()沒有參數是去掉首尾的空格 
def pushit(): 
  stack.append(raw_input('Enter new string: ').strip()) 
#出棧,用到了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 = {'u': pushit, 'o': popit, 'v': viewstack} 
#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為pushit,執行pushit()進棧操作 
    if choice == 'q': 
      break
    CMDs[choice]() 
#判斷是否是從本文件進入,而不是被調用 
if __name__ == '__main__': 
  showmenu()

以上是Python實現棧結構的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南木林县| 渝北区| 靖江市| 吉水县| 黄平县| 石门县| 玉山县| 五家渠市| 八宿县| 闵行区| 定边县| 明水县| 合山市| 辽阳县| 汶川县| 西吉县| 扶余县| 永清县| 宁武县| 井冈山市| 京山县| 永善县| 湟源县| 永济市| 本溪市| 铁岭县| 沽源县| 武山县| 呼图壁县| 闻喜县| 平昌县| 崇左市| 宜兴市| 庆阳市| 盐边县| 鸡东县| 邯郸市| 巴中市| 三河市| 谢通门县| 庄河市|