博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义栈类型,具有找到站内最小元素的min函数 ,且min(),pop(),push()函数的时间复杂度为O(1)...
阅读量:6828 次
发布时间:2019-06-26

本文共 699 字,大约阅读时间需要 2 分钟。

基本思想:

// 借助一个辅助栈,入栈时,若新元素比辅助栈栈顶元素小,则直接放入辅助站

// 反之,辅助站中放入次小元素(即辅助栈栈顶元素)====保证最小元素出栈时,次小元素被保存

static class MyStack {		Integer[] value = new Integer[10];		int index = 0;		MyStack miniStack;// 辅助栈		void push(Integer vInteger) {			this.push(vInteger);			// 辅助栈中无元素或栈顶元素比新插入元素大			if (miniStack.size() == 0 || miniStack.peek() > vInteger) {				miniStack.push(vInteger);			} else {// 新插入元素较小				miniStack.push(miniStack.peek());			}		}		Integer peek() {			return miniStack.pop();		}		// 出栈时,主栈与辅助栈一同弹出元素		Integer pop() {			miniStack.pop();			return value[index];		}		Integer mini() {			return miniStack.pop();		}		Integer size() {			return index;		}	}

  

转载于:https://www.cnblogs.com/cugb-2013/p/3634528.html

你可能感兴趣的文章
JavaScript 操作cookie
查看>>
BeanUtils.copyProperties() 用法
查看>>
微信公众平台开发 - 基础篇
查看>>
WinForm更新文件
查看>>
setprecision **fixed
查看>>
JVM系列五:JVM监测&工具[整理中]
查看>>
局部自适应自动色阶/对比度算法在图像增强上的应用。
查看>>
CMD命令
查看>>
Spring中@Autowired与@Resource的区别
查看>>
Python 学习笔记 -- 类和实例
查看>>
Android 静默安装/后台安装
查看>>
java 非空判断类
查看>>
【html5】如何让Canvas标签自适应设备
查看>>
SecureCRT最佳配色方法+直接修改默认配置方法 - imsoft.cnblogs
查看>>
通俗地介绍下---数据结构之堆
查看>>
JQuery实现简单的服务器轮询效果
查看>>
2017.6.26 工作记录
查看>>
“Too many open files” 小记
查看>>
《Effective C#》读书笔记——条目4:使用Conditional特性而不是#if条件编译<C#语言习惯>...
查看>>
浅谈异常与恋爱
查看>>