【12】python 栈型数据结构模拟、队列型数据结构模拟

一、压栈操作模拟
#__author:"吉*佳"
#date: 2018/10/21 0021
#function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作
stack=[]
flag=True
while flag:
temp = input("请输入压栈元素[输入0代表退出]:")
if temp!=str(0):
stack.append(temp)
else:
print('压栈结束,栈内元素为:', stack)
# 借助flag退出while循环
flag=False '''
输出操作:
请输入压栈元素[输入0代表退出]:1
请输入压栈元素[输入0代表退出]:2
请输入压栈元素[输入0代表退出]:3
请输入压栈元素[输入0代表退出]:4
请输入压栈元素[输入0代表退出]:5
请输入压栈元素[输入0代表退出]:0
压栈结束,栈内元素为: ['1', '2', '3', '4', '5']
'''
二、出栈模拟
#__author:"吉勇佳"
#date: 2018/10/21 0021
#function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作
stack=[]
flag=True
while flag:
temp = input("请输入压栈元素[输入0代表退出]:")
if temp!=str(0):
stack.append(temp)
else:
print('压栈结束,栈内元素为:', stack)
# 借助flag退出while循环
flag=False '''
输出操作:
请输入压栈元素[输入0代表退出]:1
请输入压栈元素[输入0代表退出]:2
请输入压栈元素[输入0代表退出]:3
请输入压栈元素[输入0代表退出]:4
请输入压栈元素[输入0代表退出]:5
请输入压栈元素[输入0代表退出]:0
压栈结束,栈内元素为: ['1', '2', '3', '4', '5']
'''
print("************************分隔符*******************")
tt=stack.pop()
print("出栈元素",tt)
print("栈内元素信息:",stack)
tt=stack.pop()
print("出栈元素",tt)
print("栈内元素信息:",stack)
tt=stack.pop()
print("出栈元素",tt)
print("栈内元素信息:",stack) '''
输出
请输入压栈元素[输入0代表退出]:1
请输入压栈元素[输入0代表退出]:2
请输入压栈元素[输入0代表退出]:3
请输入压栈元素[输入0代表退出]:4
请输入压栈元素[输入0代表退出]:5
请输入压栈元素[输入0代表退出]:0
压栈结束,栈内元素为: ['1', '2', '3', '4', '5']
************************分隔符*******************
出栈元素 5
栈内元素信息: ['1', '2', '3', '4']
出栈元素 4
栈内元素信息: ['1', '2', '3']
出栈元素 3
栈内元素信息: ['1', '2']
'''

入队与出队操作
队列:
即是先进先出的一种数据结构
在python中,可以通过 collections模块。 queue = collections.deque()来实现入队操作 。相应的出队操作可以用queue.leftpop()即可
#__author:"吉*佳"
#date: 2018/10/21 0021
#function:队列 import collections # 队列:即是先进先出的一种数据结构 # (1)模拟入队操作。队列有如下模块可以实现
queue = collections.deque() # 入队
flag=True
while flag:
temp = input("请输入入队元素[输入0代表退出]:")
if temp!=str(0):
queue.append(temp)
else:
print('入队结束,队内元素为:', queue)
# 借助flag退出while循环
flag=False '''
输出:
请输入入队元素[输入0代表退出]:1
请输入入队元素[输入0代表退出]:2
请输入入队元素[输入0代表退出]:3
请输入入队元素[输入0代表退出]:4
请输入入队元素[输入0代表退出]:5
请输入入队元素[输入0代表退出]:0
入队结束,队内元素为: deque(['1', '2', '3', '4', '5'])
''' # 出队模拟
print("************************分隔符*******************")
tt=queue.popleft()
print("出队元素",tt)
print("队内元素信息:",queue)
tt=queue.popleft()
print("出队元素",tt)
print("队内元素信息:",queue)
tt=queue.popleft()
print("出队元素",tt)
print("队内元素信息:",queue) '''
输出:
请输入入队元素[输入0代表退出]:1
请输入入队元素[输入0代表退出]:2
请输入入队元素[输入0代表退出]:3
请输入入队元素[输入0代表退出]:4
请输入入队元素[输入0代表退出]:5
请输入入队元素[输入0代表退出]:0
入队结束,队内元素为: deque(['1', '2', '3', '4', '5'])
************************分隔符*******************
出队元素 1
队内元素信息: deque(['2', '3', '4', '5'])
出队元素 2
队内元素信息: deque(['3', '4', '5'])
出队元素 3
队内元素信息: deque(['4', '5'])
'''

【12】python 栈型数据结构模拟、队列型数据结构模拟的更多相关文章
- Java数组模拟队列 + 优化
队列介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则. 即:先存入队列的数据,要先取出.后存入的要后取出 示意图:(使用数组模拟队列示意图) 数组模拟队列 队列本身是有序列表 ...
- python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...
- Python基础:1.数据类型(空、布尔类型、整型、长整型、浮点型、字符串)
提示:python版本2.7,windows系统 Python提供的基本数据类型:空.布尔类型.整型.长整型.浮点型.字符串.列表.元组.字典.日期 1.空(None) None,是一个特殊的值,不能 ...
- Python与数据结构[2] -> 队列/Queue[0] -> 数组队列的 Python 实现
队列 / Queue 数组队列 数组队列是队列基于数组的一种实现,其实现类似于数组栈,是一种FIFO的线性数据结构. Queue: <--| 1 | 2 | 3 | 4 | 5 |<-- ...
- python 基础 1.5 python 数据类型(一)--整型 浮点型 布尔型及字符串和常用方法
一.python 数据类型:数值,字符串,列表,元组,字典.以下操作是在linux 下 ipython中进行 1.数值 1>123 与 “123”的区别 答:123为数值,“123”在pyt ...
- 数据结构之队列and栈总结分析
一.前言: 数据结构中队列和栈也是常见的两个数据结构,队列和栈在实际使用场景上也是相辅相成的,下面简单总结一下,如有不对之处,多多指点交流,谢谢. 二.队列简介 队列顾名思义就是排队的意思,根据我们的 ...
- 剑指Offer9——使用双栈模拟队列
剑指Offer9--使用双栈模拟队列 队列Queue是具有FIFO(First in First out)特性的数据结构,栈Stack是具有LIFO(后进先出)特性的数据结构.下面提供一种思路使用双栈 ...
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- 九度OJ 1512 用两个栈实现队列 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1512 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 输入: 每 ...
- 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)
主题链接:http://pat.zju.edu.cn/contests/ds/3-08 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操 ...
随机推荐
- 读jQuery源码释疑笔记
本释疑笔记是针对自己在看源码的过程中遇到的一些问题的解答,对大众可能不具有参考性,不过可以看看有没有你也不懂得地方,相互学习,相互进步. 1.each的用法 之前对each的用法一直迷迷糊糊,这次终 ...
- UVa 10129 Play on Words(并查集+欧拉路径)
题目链接: https://cn.vjudge.net/problem/UVA-10129 Some of the secret doors contain a very interesting wo ...
- Docker基础-镜像操作
1.搜寻镜像 docker search [TERM] 可以搜索远程仓库中共享的镜像,默认搜索官方仓库的镜像. docker search参数: --automated=true|false :仅显示 ...
- date时间格式化
Date方法的扩展 /** * 时间格式化 * @param fmt * @returns {*} * @constructor */ // (new Date()).Format("yyy ...
- 对datagridview进行增删改(B)
create DATABASE stu ON ( name='stu.mdf', filename='F:\胡浴东\数据库\stu数据库\stu.mdf', size=, filegrowth= ) ...
- Java虚拟机--内存模型与线程
Java虚拟机--内存模型与线程 高速缓存:处理器要与内存交互,如读取.存储运算结果,而计算机的存储设备和处理器的运算速度差异巨大,所以加入一层读写速度和处理器接近的高速缓存来作为内存和处理器之间的缓 ...
- Spring、Springmvc整合web的web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- if语句格式及流程
if语句是条件判断功能 1. if 条件: if语句块 执行流程:判断条件是否为真. 如果真. 执行if语句块 2. if 条件: if语句块 else: else语句块 执行流程:判断条件是否为真. ...
- form图片上传遇到错误
org.springframework.web.multipart.MultipartException: The current request is not a multipart request ...
- php对文件的操作
如何让自己磁盘中的文件夹和目录显示在网页上?那就来看一下,用php是怎么来操作他们的吧 php中文件,一般包含两块内容,文件和目录先来一句一句的看代码,及他的作用 运行后看一下结果 file 指的是文 ...