1051. Pop Sequence (25)
来源:互联网 发布:软件测试培训内容 编辑:程序博客网 时间:2024/06/16 05:43
//关键点:进栈顺序是now=1,2...n ;当栈顶没有当前number,now从1开始进栈;反之,出栈 #include<iostream>using namespace std;int main(){ int stack[1005]={0};//数组表示栈 int top; int m,n,k; cin>>m>>n>>k; for(int i=1;i<=k;i++){ top=0; int now=1; //top和now是数组stack的键值对,此处从1开始存贮。若从0开始,此处top=-1 ,while变为 flag&&(top==-1 || stack[top]!=number) bool flag=true;//表示栈未满 int number; //1、n个节点,每个都要经过入栈和出栈 for(int j=1;j<=n;j++){ cin>>number; //入栈 while(flag&&(stack[top]!=number)){ //stack[top]!=number表示目前栈里没有number stack[++top]=now;//为了while里的top指向当前栈顶元素,要先自增,再赋值 if(top>m){//0废弃,有效下标1到m flag=false; break; } now++; } //出栈 if(flag&&top>=1&&stack[top]==number) top--; } //2、判断这n个节点的出栈队列是否合法 if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0;}转自:http://blog.csdn.net/ccdllyy/article/details/52658415
1 0
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- 1051. Pop Sequence (25)
- input file 上传图片预览
- 日常总结
- PowerDesigner最基础的使用方法入门学习
- 编译原理,自上而下非递归语法分析自上而下的语法分析
- 欢迎使用CSDN-markdown编辑器
- 1051. Pop Sequence (25)
- Unix或Linux中&、jobs、fg、bg等命令的使用方法
- React-native、原生混合开发AndroidStudio打包流程(Windows 10)
- RDD基本操作(下)
- android 补间(Tween)动画
- linux uuid/uuid.h
- MapReduce的计算资源划分
- vi/vim多行注释、取消多行注释、多行复制、多行删除
- YII2的详解