栈和排序(感觉与排序无关)

栈和排序

http://www.nowcoder.com/questionTerminal/b10a7ac681e9429e89a6a510e5799647

此题从n,n-1....开始出栈(前提是能够出)

#include<iostream>
#include<stack>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e6+10;
int a[N];
vector<int> v;//存stk中剩余的数
stack<int> stk;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++){
        int j=n;
        stk.push(a[i]);//依次放入栈中
        if(a[i]==j){//从n,n-1....开始出栈
            stk.pop();
            cout<<j<<" ";
            --j;
        }
    }
    //当然有未出完的部分
    while(!stk.empty()){
        v.push_back(stk.top());
        stk.pop();
    }
    for(int i=0;i<v.size();i++){
        if(i==v.size()-1) cout<<v[i];
        else cout<<v[i]<<' ';
    }
    return 0;
}
全部评论
0分
点赞 回复 分享
发布于 2024-04-02 15:33 湖南
提交错误
点赞 回复 分享
发布于 2022-04-26 15:07
这个题数据修过了,现在欢迎重新提交
点赞 回复 分享
发布于 2020-06-09 11:04
输入: 5 1 2 4 5 3 输出不对
点赞 回复 分享
发布于 2020-05-29 09:51

相关推荐

01-11 08:47
门头沟学院 Java
choumoduji...:读研的目的就是为了以最快的速度和最低的要求完成“学校”规定的毕业标准,而不是所谓课题组的要求
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务