python实现数据结构-队列
2024-09-08 05:42:00
注:本文档主要是学习《Python核心编程(第二版)》时的练习题。
队列是一种"先进先出"的数据结构(FIFO),是一种操作受限的线性结构,先进队列的成员先出队列。示意图如下:
代码如下:
#!/usr/bin/env python queue = [] def enQ():
queue.append(raw_input('Enter new string: ').strip()) def deQ():
if len(queue) == 0:
print 'Cannot pop from an empty queue!'
else:
print 'Remove [', queue.pop(0), ']' def viewQ():
print queue CMDs = {'e':enQ, 'd':deQ, 'v':viewQ} def showmenu():
pr = """
(E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: """ while True:
try:
choice = raw_input(pr).strip()[0].lower()
except (EOFError, keyboardInterrupt, IndexError):
choice = 'q' print '\nYour picked: [%s]' % choice if choice == 'q':
break
elif choice not in 'dev':
print 'Invalid option, try again'
else:
CMDs[choice]() if __name__ == '__main__':
showmenu()
测试现象:
[root@localhost python]# python queue.py (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: e Your picked: [e]
Enter new string: abcd (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: e Your picked: [e]
Enter new string: 1234 (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: v Your picked: [v]
['abcd', ''] (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: d Your picked: [d]
Remove [ abcd ] (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: v Your picked: [v]
[''] (E)nqueue
(D)equeue
(V)iew
(Q)uit
最新文章
- 将ubuntu的id_rsa秘钥转为putty的ppk格式
- MFC 设置控件事件对应的函数
- 解决Maven项目编译时提示:源值1.5已过时,将在未来所有版本中删除
- 基础学习day01--JAVA入门和JDK的安装与配置
- ILOG的一个基本应用——解决运输问题、转运问题
- AngularJS - Watch 监听对象
- jCallout 实现气泡提示
- Factorial
- mysql相关重要问题解决
- ubuntu 查本机 ip地址的命令是什么, 详细信息的?
- 导出函数结构 EXPORT_DIRECTORY
- OpenReports中文支持方案
- C# MVC 自学笔记—2 MVC Movie简介
- vim忽略大写和小写查找配置
- three.js是JavaScript编写的WebGL第 三方库
- apt-get 安装路径
- Codeforces Round #485 (Div. 2) E. Petr and Permutations
- MySQL 日期笔记
- TZOJ 5225: 玩转二叉树
- 创建目录:mkdir