#include <iostream>
#include <fstream>
#include<vector>
#include <stack>
using namespace std;
class ProStack {
public:
ProStack() {//栈的构造函数,构造的同时标记最大值和最小值
int in;//用来接收用户输入元素
cout << "please input the element of stack:" << endl;
while (cin >> in) {//结束输入:CTRL+D然后回车
dominate.push(in);//存入主栈
if (MaxSubsidiary.empty() || MaxSubsidiary.top() < in|| MaxSubsidiary.top() == in)
MaxSubsidiary.push(in);
if (MinSubsidiary.empty() || MinSubsidiary.top() > in || MinSubsidiary.top() == in)
MinSubsidiary.push(in);
}
}
void push(int in) {
dominate.push(in);//存入主栈
if (MaxSubsidiary.empty() || MaxSubsidiary.top() < in || MaxSubsidiary.top() == in)
MaxSubsidiary.push(in);
if (MinSubsidiary.empty() || MinSubsidiary.top() > in || MinSubsidiary.top() == in)
MinSubsidiary.push(in);
}
void pop() {
if (MaxSubsidiary.top
设计一个有getMin和getMax功能的栈(C++实现)
最新推荐文章于 2023-02-17 21:08:10 发布