日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 數(shù)據(jù)結構之隊列的實現(xiàn)

系統(tǒng) 1746 0

Python 隊列

Queue 隊列是一種先進先出(FIFO)的數(shù)據(jù)類型, 新的元素通過 入隊 的方式添加進 Queue 的末尾, 出隊 就是從 Queue 的頭部刪除元素.

用列表來做 Queue:

            
queue = []         # 初始化一個列表數(shù)據(jù)類型對象, 作為一個隊列

def enQ():       # 定義一個入棧方法
  queue.append(raw_input('Enter New String: ').strip())   
  # 提示輸入一個入隊的 String 對象, 調(diào)用 Str.strip() 保證輸入的 String 值不包含多余的空格

def deQ():        # 定義一個出隊方法
  if len(queue) == 0:
    print "Cannot pop from an empty queue!"
  else:
    print 'Remove [', `queue.pop(0)`, ']'
    # 使用反單引號(` `)來代替 repr(), 把 String 的值用引號擴起來, 而不僅顯示 String 的值
    # queue.pop(0) 總是將在隊列中最前面的元素彈出

def viewQ():      # 定義一個顯示隊列中的內(nèi)容的方法
    print queue

CMDs = {'u':enQ, 'o':deQ, 'v':viewQ}
# 定義一個 Dict 類型對象, 將字符映射到相應的 function .可以通過輸入字符來執(zhí)行相應的操作

def showmenu():      # 定義一個操作菜單提示方法
  pr = """
  (E)nqueue
  (D)equeue
  (V)iew
  (Q)uit

  Enter choice: """

  while True:
    while True:
      try:
        choice = raw_input(pr).strip()[0].lower()
        # Str.strip() 去除 String 對象前后的多余空格
        # Str.lower() 將多有輸入轉化為小寫, 便于后期的統(tǒng)一判斷
        # 輸入 ^D(EOF, 產(chǎn)生一個 EOFError 異常)
        # 輸入 ^C(中斷退出, 產(chǎn)生一個 keyboardInterrupt 異常)

      except (EOFError, KeyboardInterrupt, IndexError):
        choice = 'q'

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

      if choice not in 'uovq':
        print 'Invalid option, try again'
      else:
        break

    if choice == 'q':
      break
    CMDs[choice]()
    # 獲取 Dict 中字符對應的 functionName, 實現(xiàn)函數(shù)調(diào)用

if __name__ == '__main__':
  showmenu()


          

隊列和堆棧的實現(xiàn)方式很相似, 區(qū)別在于隊列總是先彈出第一個元素而堆棧總是先彈出最后一個元素.

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 江陵县| 武胜县| 本溪市| 错那县| 文昌市| 玛纳斯县| 兰考县| 永顺县| 田林县| 临武县| 洱源县| 读书| 房产| 聂荣县| 襄垣县| 丹寨县| 广州市| 太保市| 区。| 沙雅县| 五常市| 南召县| 营山县| 万全县| 正阳县| 惠水县| 津市市| 从江县| 辽宁省| 永德县| 遵化市| 普兰店市| 古交市| 巧家县| 舒城县| 中江县| 平安县| 秦皇岛市| 南康市| 宝山区| 博湖县|