• 判断——出栈能否实现


    #include<cstdio>
    #include<iostream>
    #include<stack>
     using namespace std;
     
    int main()
    {
         int n,i,k;
         int a[1010];
         stack<int> s;
         while(scanf("%d",&n),n)
         {
           while(scanf("%d",&a[1]))

             {
                 if(a[1]==0)

                 {

                     printf(" ");
                     break;
                 }
                 while(!s.empty())       //初始化清空栈
                     s.pop();

                 k=1;
                 for(i=2;i<=n;++i)
                     scanf("%d",&a[i]);
                for(i=1;i<=n;++i)
                 {
                     s.push(i);
                     if(i==a[k])
                     {
                        while(!s.empty()&&s.top()==a[k])
                         {
                             s.pop();
                             ++k;
                         }
                     }
                 }
                 if(s.empty())
                     printf("Yes ");
                 else
                     printf("No ");
             }
         }
         return 0;
    }

  • 相关阅读:
    基本操作——word中怎样同一页中放入多张图片
    计算机概念入门(二)
    计算机概念入门(一)
    关于黑苹果系统的耳机声音模糊不清问题
    开源项目
    尚硅谷官网资料导航
    this
    最棒的 JavaScript 学习指南(2018版)(转)
    前端文摘:深入解析浏览器的幕后工作原理(转)
    闭包,模块化
  • 原文地址:https://www.cnblogs.com/aimqqroad-13/p/4437602.html
Copyright © 2020-2023  润新知