包含min函数的栈

来源:互联网 发布:电脑指令mac地址修改 编辑:程序博客网 时间:2024/06/14 00:07
//包含min函数的栈
//定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。
//在该栈中,调用min、push及pop的时间复杂度都是O(1)
Stack<Integer> data = new Stack<Integer>();
Stack<Integer> min = new Stack<Integer>();
public void push(int num){
data.push(num);
if(!min.isEmpty()){
if(min.peek()>=num){
min.push(num);
}else{
min.push(min.peek());
}
}else{
min.push(num);
}
}
public void pop(){
data.pop();
min.pop();
}
public int min(){
return min.peek();
}
    public int top() {
        return data.peek();
    }
0 0
原创粉丝点击