真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python能不能實現(xiàn)棧的結(jié)構(gòu)-創(chuàng)新互聯(lián)

這篇文章主要講解了Python能不能實現(xiàn)棧的結(jié)構(gòu),內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、臨洮網(wǎng)站維護、網(wǎng)站推廣。

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

什么是棧?

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

如何實現(xiàn)?

在Python中使用列表來實現(xiàn):

#!/usr/bin/env python 
#定義一個列表來模擬棧 
stack = [] 
#進棧,調(diào)用列表的append()函數(shù)加到列表的末尾,strip()沒有參數(shù)是去掉首尾的空格 
def pushit(): 
 stack.append(raw_input('Enter new string: ').strip()) 
#出棧,用到了pop()函數(shù) 
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()去掉空格,再把第一個字符轉(zhuǎn)換成小寫的 
    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[]根據(jù)輸入的choice從字典中對應相應的value,比如說輸入u,從字典中得到value為pushit,執(zhí)行pushit()進棧操作 
  if choice == 'q': 
   break
  CMDs[choice]() 
#判斷是否是從本文件進入,而不是被調(diào)用 
if __name__ == '__main__': 
 showmenu()

網(wǎng)站標題:Python能不能實現(xiàn)棧的結(jié)構(gòu)-創(chuàng)新互聯(lián)
文章分享:http://weahome.cn/article/cssppg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部