Python 数据结构之队列的实现

Python 数据结构之队列的实现,第1张

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

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) 总是将在队列中最前面的元素d出def vIEwQ():      # 定义一个显示队列中的内容的方法    print queueCmds = {'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()

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

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

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

以上是内存溢出为你收集整理的Python 数据结构之队列的实现全部内容,希望文章能够帮你解决Python 数据结构之队列的实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1204664.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存