加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 数据结构之队列的实现

发布时间:2020-12-16 21:11:29 所属栏目:Python 来源:网络整理
导读:Python 队列 Queue 队列是一种先进先出(FIFO)的数据类型,新的元素通过 入队 的方式添加进 Queue 的末尾,出队 就是从 Queue 的头部删除元素. 用列表来做 Queue: queue = [] # 初始化一个列表数据类型对象,作为一个队列def enQ(): # 定义一个入栈方法 queue.ap

Python 队列

Queue 队列是一种先进先出(FIFO)的数据类型,新的元素通过 入队 的方式添加进 Queue 的末尾,出队 就是从 Queue 的头部删除元素.

用列表来做 Queue:

queue = []         # 初始化一个列表数据类型对象,作为一个队列

def enQ():       # 定义一个入栈方法
  queue.append(raw_input('Enter New String: ').strip())   
  # 提示输入一个入队的 String 对象,调用 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():      # 定义一个显示队列中的内容的方法
    print queue

CMDs = {'u':enQ,'o':deQ,'v':viewQ}
# 定义一个 Dict 类型对象,将字符映射到相应的 function .可以通过输入字符来执行相应的操作

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() 将多有输入转化为小写,便于后期的统一判断
        # 输入 ^D(EOF,产生一个 EOFError 异常)
        # 输入 ^C(中断退出,产生一个 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,实现函数调用

if __name__ == '__main__':
  showmenu()

队列和堆栈的实现方式很相似,区别在于队列总是先弹出第一个元素而堆栈总是先弹出最后一个元素.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • Python数据结构之栈、队列的实现代码分享
  • 栈和队列数据结构的基本概念及其相关的Python实现
  • Python实现的数据结构与算法之双端队列详解
  • Python实现的数据结构与算法之队列详解
  • python实现堆栈与队列的方法
  • Python3中多线程编程的队列运作示例
  • Python实现优先级队列结构的方法详解
  • Python多线程和队列操作实例
  • Python常见数据结构详解
  • Python中的高级数据结构详解
  • Python实现基本数据结构中队列的操作方法示例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读