#include<stdio.h>
#include<stack>
using namespace std;
stack<int> smin;
stack<int> sdata;
class MinStack(){
int xmin;
void push(int x){
if(smin.empty()){
sdata.push(x);
}
else{
// if(x>xmin) smin.push(xmin);
// else{
// xmin=x;
// smin.push(xmin);
//能看出水平的一个点,总归要压入最小值
if(x>xmin) x=smin.top()
smin.push(x);
}
}
}
void pop(){
smin.pop();
sdata.pop();
}
int top(){
return sdata.pop();
}
int getMin(){
return smin.top();
}
}
int main(){
MinStack ms;
ms.push(-2);
printf("top=[%d]\n",ms.top());
printf("min=[%d]\n\n",ms.getMin());
ms.push(0);
printf("top=[%d]\n",ms.top());
printf("min=[%d]\n\n",ms.getMin());
ms.push(-5);
printf("top=[%d]\n",ms.top());
printf("min=[%d]\n\n",ms.getMin());
ms.pop();
printf("top=[%d]\n",ms.top());
printf("min=[%d]\n\n",ms.getMin());
return 0;
}
问题
[Error] expected unqualified-id before ‘)’ token