区别:

pop是弹出栈顶元素,top是获得栈顶元素,不弹出
 pop弹出后可以获取,把弹出的东西付给某个变量

具体可以通过用队列实现一个栈来分析原因。

#用队列实现栈
class Stack:"""@param: x: An integer@return: nothing"""def __init__(self):self.queue = []def push(self, x):# write your code hereself.queue.append(x)"""@return: nothing"""def pop(self):# write your code herefor x in range(len(self.queue) - 1):self.queue.append(self.queue.pop(0))self.queue.pop(0) #弹出栈顶元素"""@return: An integer"""def top(self):# write your code heretop = Nonefor x in range(len(self.queue)):top = self.queue.pop(0)self.queue.append(top)  #只返回栈顶元素,不弹出return top """@return: True if the stack is empty"""def isEmpty(self):# write your code herereturn self.queue == []mysolution = Stack()
aus = mysolution.push(1)
print(aus)aus1 = mysolution.pop()
print(aus1)aus2 = mysolution.push(2)
print(aus2)
aus3 = mysolution.isEmpty()
print(aus3)
aus4 = mysolution.top()
print(aus4)
aus5 = mysolution.pop()
print(aus5)栈这种数据结构计算机无法直接表达给人看,想要看需要借助IDE编辑器输出:None
None
None
False
2
None
[Finished in 0.0s]```###代码分析Python中栈中pop和top的区别是什么呢?pop是弹出栈顶元素,top是获得栈顶元素,不弹出

认识你是我们的缘分,同学,等等,记得关注我。

微信扫一扫
关注该公众号

栈中pop和top的区别是什么呢?用队列实现一个栈,Python语言相关推荐

  1. 两个栈实现一个队列与两个队列实现一个栈

    http://blog.csdn.net/z84616995z/article/details/19204529 两个栈实现一个队列: 原理方法:用一个栈为主栈,一个栈为辅助栈存放临时元素. 入队:将 ...

  2. 数据结构:栈和列之如何用两个队列实现一个栈?两个栈实现一个队列?

    1.栈和队列分析 栈是一种特殊的线性表.其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行 队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的 ...

  3. C/C++面试题—使用STL两个队列实现一个栈

    题目介绍 使用STL中的两个队列实现一个栈,实现栈的top.pop.push.clear等操作. 思路分析 思路和使用2个栈实现一个队列是相通的,用一个队列queue1容器用来 压栈,出栈的时候判断q ...

  4. java 栈和队列实现迷宫代码_使用两个队列实现一个栈

    两个队列实现一个栈 栈的特点是后进先出,队列的特点是先进先出.使用两个队列模拟栈,实现栈的push,pop,top,empty 操作. 假设队列中均为数字,其中队列q1为操作队列,q2为辅助队列. p ...

  5. 【C++】两个队列实现一个栈

    两个队列实现一个栈的思想:用_PushQ1队列作为push数据的队列,用_TmpQ2队列暂存数据 1.只要是对栈进行push操作,就将数据push入_PushQ1队列中. 2.要实现栈的pop操作,就 ...

  6. 两个栈实现一个队列,两个队列实现一个栈

    题目:用两个栈实现一个队列,用两个队列实现一个栈. 首先要了解栈和队列这两种数据结构各自的特点,栈是一种后入先出(Last In First Out,LIFO)的数据结构,队列是一种先进先出(Firs ...

  7. java实现-两个栈实现一个队列和两个队列实现一个栈

    1.两个栈实现一个队列 思路:压入元素直接入stack1,删除元素先判断stack2中是否为空,如果不为空直接弹出:为空则将stack1中的元素取出压入 stack2中再弹出. 代码: import ...

  8. python ——两个队列实现一个栈两个栈实现一个队列

    1.两个队列实现一个栈 进栈:元素入队列A 出栈:判断如果队列A只有一个元素,则直接出队.否则,把队A中的元素出队并入队B,直到队A中只有一个元素,再直接出队.为了下一次继续操作,互换队A和队B. p ...

  9. 两个栈实现一个队列/两个队列实现一个栈

    http://blog.csdn.net/sinat_30472685/article/details/70157227 1两个栈实现一个队列 1.原理分析: 队列的主要操作有两个:入队操作和出队操作 ...

最新文章

  1. Python基础(6)_函数
  2. java x.length_Java中的length和length()
  3. C加密 java_c语言的des加密,怎么用java解密
  4. ios请求php接口,php – 确保http(s)请求来自我的iOS应用程序
  5. 《学生快捷记账系统》——个人博客04——星期四
  6. 孔浩java web_孔浩老师JAVA WebService教程
  7. 金庸群侠传3改数据攻略(少壮不努力,老大改数据)
  8. Java实现简单聊天室【含源码】
  9. html代码在线高亮美化,代码语法高亮美化显示插件CodeMirror
  10. TL431-精密基准电压源
  11. reg类型变量综合电路_Verilog中 reg和wire 用法和区别以及always和assign的区别
  12. oracle重建orainventory,重建oraInventory解决ORA-20001
  13. QT实现图片缩放的同时标记指定坐标
  14. Android ANR日志分析进行曲
  15. java-IO流-将文件夹以树形结构打印(打印文件夹目录)问题
  16. 南加州大学钱学海:去中心化分布式训练系统的最新突破
  17. 2017.08.10小结
  18. 将字符串中的每一个字母变成其下一个字母
  19. unigui是什么?能用来干什么?一篇文章让你全面了解
  20. [原创.数据可视化系列之五]韩国萨德系统防御图

热门文章

  1. Redis发布订阅机制
  2. linux 日志管理、系统启动和备份恢复
  3. 详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
  4. Java笔记(二十) 注解
  5. C语言中的运算和运算符
  6. 求csdn博客优良编辑方法
  7. 一天学会php(下)
  8. PHP向右侧拉菜单,测试使用中
  9. 简单防止通过执行存储过程攻击服务器
  10. (转)Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门