栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

剑指offer day1 用两个栈实现队列

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

剑指offer day1 用两个栈实现队列

栈:先进后厨

队列:先进先出

二者在java中的使用:

栈:Stack类。是vector的一个子类,实现了标准的后进先出的规则。

定义一个栈:Stack st;相关的函数:boolean empty() ;Object peek( );Object pop( );Object push(Object element);int search(Object element)

队列:队列是一种特殊的线性表,只允许在表的前端进行删除操作,在表的后端进行插入操作。

linkedList类实现了Queue接口,因此我们可以把linkedList当成Queue来用。

定义一个队列:Queue queue = new linkedList();

问题1 :用两个栈实现队列。一个栈进入数据,另一个栈存储数据,可以得到出来时候的数据和进去另一个栈的顺序是一致的。

问题2:用栈实现pop,top,push,min函数 使得时间复杂度为O(1)。用空间换时间,利用一个辅助栈。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756273.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号