一、压栈操作模拟

#__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 栈型数据结构模拟、队列型数据结构模拟的更多相关文章

  1. Java数组模拟队列 + 优化

    队列介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则. 即:先存入队列的数据,要先取出.后存入的要后取出 示意图:(使用数组模拟队列示意图)  数组模拟队列 队列本身是有序列表 ...

  2. python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...

  3. Python基础:1.数据类型(空、布尔类型、整型、长整型、浮点型、字符串)

    提示:python版本2.7,windows系统 Python提供的基本数据类型:空.布尔类型.整型.长整型.浮点型.字符串.列表.元组.字典.日期 1.空(None) None,是一个特殊的值,不能 ...

  4. Python与数据结构[2] -> 队列/Queue[0] -> 数组队列的 Python 实现

    队列 / Queue 数组队列 数组队列是队列基于数组的一种实现,其实现类似于数组栈,是一种FIFO的线性数据结构. Queue: <--| 1 | 2 | 3 | 4 | 5 |<-- ...

  5. python 基础 1.5 python 数据类型(一)--整型 浮点型 布尔型及字符串和常用方法

    一.python 数据类型:数值,字符串,列表,元组,字典.以下操作是在linux 下 ipython中进行 1.数值 1>123  与  “123”的区别 答:123为数值,“123”在pyt ...

  6. 数据结构之队列and栈总结分析

    一.前言: 数据结构中队列和栈也是常见的两个数据结构,队列和栈在实际使用场景上也是相辅相成的,下面简单总结一下,如有不对之处,多多指点交流,谢谢. 二.队列简介 队列顾名思义就是排队的意思,根据我们的 ...

  7. 剑指Offer9——使用双栈模拟队列

    剑指Offer9--使用双栈模拟队列 队列Queue是具有FIFO(First in First out)特性的数据结构,栈Stack是具有LIFO(后进先出)特性的数据结构.下面提供一种思路使用双栈 ...

  8. Python基础:数值(布尔型、整型、长整型、浮点型、复数)

    一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...

  9. 九度OJ 1512 用两个栈实现队列 【数据结构】

    题目地址:http://ac.jobdu.com/problem.php?pid=1512 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 输入: 每 ...

  10. 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)

    主题链接:http://pat.zju.edu.cn/contests/ds/3-08 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操 ...

随机推荐

  1. JavaScript回调函数及数组方法测试

    JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...

  2. SQL Server无法打开物理文件,操作系统错误 5:"5(拒绝访问。)的解决办法

    在新装的系统中使用SQL Server附加以前的数据库的时候可能会遇到“无法打开物理文件,拒绝访问”的错误,如下图: 解决方法为使用windows验证登录,或者更改SQL Server内置账户类型为L ...

  3. <tbody>标签的用途

    如果一个表格是 分 好几个部分 ,那么每个部分 使用一组<tbody>这样,下载完第一个部分 就可以先显示了,不用等后面的部分是否下载好,这是写给浏览器看的.

  4. Android-多线程AsyncTask

    http://www.cnblogs.com/plokmju/p/android_AsyncTask.html AsyncTask,异步任务,可以简单进行异步操作,并把执行结果发布到UI主线程.Asy ...

  5. php实现同一时间内一个账户只允许在一个终端登陆

    在账户表的基础上,我新建了一个账户account_session表,用来记录登录账户的account_id和最新一次登录成功用户的session_id,然后首先要修改登录方法:每次登录成功后,要将登录 ...

  6. scikit-learn画ROC图

    1.使用sklearn库和matplotlib.pyplot库 import sklearn import matplotlib.pyplot as plt 2.准备绘图函数的传入参数1.预测的概率值 ...

  7. 【读书笔记】iOS-网络-测试与操纵网络流量

    一,观测网络流量. 观测网络流量的行为叫做嗅探或数据包分析. 1,嗅探硬件. 从iOS模拟器捕获数据包不需要做特别的硬件或网络配置.如果需要捕获这些数据包,那么可以使用嗅探软件来监听回送设备或是用于连 ...

  8. Nginx控制并发连接数

    ngx_http_limit_conn_module这个模块用于限制每个定义的key值的连接数,特别是单IP的连接数. 不是所有的连接数都会被计数.一个符合计数要求的连接是整个请求头已经被读取的连接. ...

  9. ONLYOFFICE连接数20个限制的由来

    搜onlyoffice document server的github上的issue,会得到这2个地址https://github.com/ONLYOFFICE/DocumentServer/issue ...

  10. ubuntu更新下载源问题

    Q1:ubuntu14.04系统安装完之后无法跟新并安装插件 cd /var/lib/apt/lists sudo rm * -rf sudo apt-get clean;sudo apt-get u ...