[Algorithm] c++ stack 구현

#include <iostream>
#include <string.h>
 
using namespace std;
 
int stack[10001],s_top=-1;
void push(int X){
    stack[++s_top] = X;
}
 
int pop(){
    if(s_top==-1return -1;
    return stack[s_top--];
}
 
int size(){
    return s_top+1;
}
int top(){
    if(s_top==-1return -1;
    return stack[s_top];
}
int empty(){
    if(s_top==-1return 1;
    else return 0;
}
 
int main(){
    int n,temp;
    string order;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>order;
        if (order=="push"){
            cin>>temp;
            push(temp);
        }
        else if (order=="pop"){
            cout<<pop()<<endl;
        }
        else if (order=="size"){
            cout<<size()<<endl;
        }
        else if (order=="empty"){
            cout<<empty()<<endl;
        }
        else{
            cout<<top()<<endl;
        }
    }
}
 
cs

No comments:

Powered by Blogger.