最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python 数据结构之队列的实现
时间:2017-03-01 编辑:简简单单 来源:一聚教程网
Python 队列
Queue 队列是一种先进先出(FIFO)的数据类型, 新的元素通过 入队 的方式添加进 Queue 的末尾, 出队 就是从 Queue 的头部删除元素.
用列表来做 Queue:
代码如下 | 复制代码 |
queue=[] # 初始化一个列表数据类型对象, 作为一个队列
defenQ(): # 定义一个入栈方法 queue.append(raw_input('Enter New String: ').strip()) # 提示输入一个入队的 String 对象, 调用 Str.strip() 保证输入的 String 值不包含多余的空格
defdeQ(): # 定义一个出队方法 iflen(queue)==0: print"Cannot pop from an empty queue!" else: print'Remove [', `queue.pop(0)`,']' # 使用反单引号(` `)来代替 repr(), 把 String 的值用引号扩起来, 而不仅显示 String 的值 # queue.pop(0) 总是将在队列中最前面的元素弹出
defviewQ(): # 定义一个显示队列中的内容的方法 printqueue
CMDs={'u':enQ,'o':deQ,'v':viewQ} # 定义一个 Dict 类型对象, 将字符映射到相应的 function .可以通过输入字符来执行相应的操作
defshowmenu(): # 定义一个操作菜单提示方法 pr=""" (E)nqueue (D)equeue (V)iew (Q)uit
Enter choice: """
whileTrue: whileTrue: 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
ifchoicenotin'uovq': print'Invalid option, try again' else: break
ifchoice=='q': break CMDs[choice]() # 获取 Dict 中字符对应的 functionName, 实现函数调用
if__name__=='__main__': showmenu() |
-
上一个: Python 数据结构之堆栈实例代码
相关文章
- word表格中的数据如何计算求和 08-03
- 使用genymotion访问本地上Tomcat上数据的方法 06-21
- 荣耀9使用技巧:WLAN直连 数据分享 数据传输 06-21
- 回收站清空了数据怎么找回 06-14
- 景安网络大数据战略稳步推进 景安网络立足风口树标杆 06-10
- 详解Vue监听数据变化原理 06-08