成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python實(shí)現(xiàn)棧結(jié)構(gòu)的方法

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

創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè),網(wǎng)站制作與網(wǎng)站建設(shè)公司,1800元做網(wǎng)站建設(shè)全包,免費(fèi)贈(zèng)送網(wǎng)站基礎(chǔ)優(yōu)化服務(wù),讓你的網(wǎng)站變得更有價(jià)值,公司擁有完善的專業(yè)網(wǎng)絡(luò)公司流程,能夠?yàn)槠髽I(yè)提供建站服務(wù)。使用PHP+MYSQL開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).

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

什么是棧?

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

如何實(shí)現(xiàn)?

在Python中使用列表來(lái)實(shí)現(xiàn):

#!/usr/bin/env python 
#定義一個(gè)列表來(lái)模擬棧 
stack = [] 
#進(jìn)棧,調(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()去掉空格,再把第一個(gè)字符轉(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從字典中對(duì)應(yīng)相應(yīng)的value,比如說(shuō)輸入u,從字典中得到value為pushit,執(zhí)行pushit()進(jìn)棧操作 
    if choice == 'q': 
      break
    CMDs[choice]() 
#判斷是否是從本文件進(jìn)入,而不是被調(diào)用 
if __name__ == '__main__': 
  showmenu()

以上是Python實(shí)現(xiàn)棧結(jié)構(gòu)的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:Python實(shí)現(xiàn)棧結(jié)構(gòu)的方法
當(dāng)前路徑:http://jinyejixie.com/article38/ggeepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、域名注冊(cè)、用戶體驗(yàn)、小程序開發(fā)網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
迁西县| 县级市| 尼木县| 德令哈市| 湛江市| 顺平县| 壶关县| 枞阳县| 枞阳县| 冀州市| 固原市| 乡城县| 西乡县| 安远县| 凉城县| 泸水县| 应城市| 江西省| 元江| 永城市| 广西| 嘉鱼县| 卢龙县| 岳西县| 英德市| 犍为县| 杂多县| 精河县| 英吉沙县| 溧水县| 攀枝花市| 乌兰浩特市| 汝阳县| 苏尼特右旗| 宁海县| 潞城市| 永年县| 奇台县| 襄樊市| 武义县| 台南市|