包含min函数的栈

简介: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。   public: /*入栈时,判断存放最小元素的栈是否为空, 入栈元素是否小于存放最小元素栈的栈顶元素*/ void push(int value) { stacktemp.

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

 

public:
/*入栈时,判断存放最小元素的栈是否为空,
入栈元素是否小于存放最小元素栈的栈顶元素*/
    void push(int value) {
        stacktemp.push(value);
        if(minstack.empty() || value<minstack.top())
            minstack.push(value);
    }
/*出栈时,判断出栈元素和最小元素栈的栈顶元素是否值相同*/
    void pop() {
        if(stacktemp.empty())
            return;
        if(stacktemp.top()==minstack.top())
            minstack.pop();
        stacktemp.pop();
    }
    int top() {
        if(!stacktemp.empty())
            return stacktemp.top();
    }
    int min() {
        int minval;
        if(!minstack.empty())
            minval=minstack.top();
        return minval;
    }
};

 

目录
相关文章
|
2天前
数据结构——栈和队列
数据结构——栈和队列
|
5天前
|
存储 算法 调度
数据结构与算法-栈篇
数据结构与算法-栈篇
12 3
|
2天前
数据结构 栈 / 队列(第9天)
数据结构 栈 / 队列(第9天)
|
2天前
|
存储 算法 程序员
【C++进阶】深入STL之 栈与队列:数据结构探索之旅
【C++进阶】深入STL之 栈与队列:数据结构探索之旅
|
3天前
|
C语言 C++
【数据结构】C语言实现:栈(Stack)与队列(Queue)
【数据结构】C语言实现:栈(Stack)与队列(Queue)
|
19天前
|
存储 Java 容器
深入浅出 栈和队列(附加循环队列、双端队列)
深入浅出 栈和队列(附加循环队列、双端队列)
|
13天前
|
存储 缓存 算法
【数据结构】栈和队列的模拟实现(两个方式实现)
【数据结构】栈和队列的模拟实现(两个方式实现)
|
5天前
数据结构初阶 栈
数据结构初阶 栈
10 1
|
10天前
|
算法
数据结构和算法学习记录——栈和队列作业(实现链栈上的进栈、实现链栈上的退栈、实现链队上的入队列)
数据结构和算法学习记录——栈和队列作业(实现链栈上的进栈、实现链栈上的退栈、实现链队上的入队列)
11 0
|
10天前
|
算法 C语言
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
14 2