包含min操作的栈
2013-10-11 20:46
246 查看
MinStack.java
MinStackTest.java
import java.util.ArrayDeque; import java.util.Deque; public class MinStack<T extends Comparable<T>> { private Deque<CustomElem<T>> mDeque = new ArrayDeque<>(); private T mMinElem = null; public void push(T t) { CustomElem<T> elem = new CustomElem<>(); elem.mValue = t; if (mMinElem == null) { mMinElem = t; } if (mMinElem.compareTo(t) <= 0) { elem.minElem = mMinElem; } else { elem.minElem = t; mMinElem = t; } mDeque.push(elem); } public T min(){ CustomElem<T> elem = mDeque.getFirst(); return elem.minElem; } public void pop(){ mDeque.removeFirst(); } class CustomElem<T> { T mValue; T minElem; } }
MinStackTest.java
public class MinStackTest { public static void main(String[] args) { MinStack<Integer> myStack = new MinStack<>(); myStack.push(4); myStack.push(3); myStack.push(5); myStack.push(1); System.out.println(myStack.min()); myStack.pop(); System.out.println(myStack.min()); } }
相关文章推荐
- linux下pthread_exit在主线程中的用途
- 一个 C# 获取高精度时间类(调用API QueryP*)
- Red hat linux ping: unknown host www.baidu.com
- vim安装之后不能高亮显示
- 一道简单的算法练习题试水下
- makefile 书写规则三 文件搜寻
- 二叉堆
- 初学hadoop之--------java中的for each语句----for (IntWritable val : values)
- cannot restore segment prot after reloc: Permission denied
- TCP/IP协议栈的基本工作原理
- java静态代理
- 思科网院大赛
- WIN7 VS2010配置Openssl
- templete_cutv and cute
- C++ 友元
- 开发Struts 2项目遇到的一个问题,就是在struts-tags标签库下没有了s:datetimepicker标签的解决办法
- .net导出Excel几种方式比较
- MySQL 1165 错误解决办法
- PHP漏洞全解(七)-Session劫持
- 英语单词拟声