Interview Question 03.05. Stack Sort

Interview Question 03.05. Stack Sort

Idea: 2 stacks, data storage order, help to help data storage sort

class SortedStack {
public:
    stack<int> data, help;
    SortedStack() {

    }
    
    void push(int val) {
        if(data.size()==0 || val<=data.top()){data.push(val); return;}//直接往data上放
        while(data.size()!=0 && val>data.top()){
            help.push(data.top());
            data.pop();
        }
        data.push(val);
        while(help.size()){
            data.push(help.top());
            help.pop();
        }
    }
    
    void pop() {
        if(data.size()!=0)
            data.pop();
    }
    
    int peek() {
        if(data.size()!=0)
            return data.top();
        return -1;
    }
    
    bool isEmpty() {
        return data.empty();
    }
};

 

Published 248 original articles · Like 29 · Visits 30,000+

Guess you like

Origin blog.csdn.net/weixin_38603360/article/details/105160235