c++之判断栈的弹出是否合法
来源:互联网 发布:中国网络好声音苏棱然 编辑:程序博客网 时间:2024/04/30 17:32
题目:判断弹栈的顺序是否合法
实现思想:首先输入要判断数据的大小的个数N,在输入压栈的顺序,再输入弹栈的顺序。输入栈的数字用数组保存,弹栈的顺序数字用栈保存。
当栈的top为数组的第一个元素时,弹出栈中元素,并删除数组中元素(利用下标实现),如果不是,则从数组当前的第一个位置找,找到该元素时,弹栈并删除数组的该元素以及之前的元素,如果栈中每个元素都能找到在数组中找到,则输入的弹栈顺序正确,否则错误。
代码:
#include <iostream>#include"head.h"using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) {myStack a; int na,nb,nc,life;cin>>na;int b[na];for(int i=0;i<na;i++){cin>>nb;b[i]=nb;} for(int i=0;i<na;i++){cin>>nc;a.push(nc);}life=1;int minSize=0;while(!a.isEmpty()&&minSize<na){//int minSize=0;if(a.getTop()==b[minSize]){a.pop();minSize++;}else{while(a.getTop()!=b[minSize]){minSize++;if(minSize>=na){life=0;break; }}}}if(life==1) cout<<"输入合法";else cout<<"输入不合法"; return 0;}
0 0
- c++之判断栈的弹出是否合法
- 数据结构--判断栈的弹出序列是否合法
- 面试题22:根据栈的压入序列,判断弹出序列是否合法
- goj 1446 判断栈的输出是否合法
- c语言 判断ip是否合法的简单例子
- C/C++测试---判断输入的年月日是否合法
- c语言判断ip地址是否合法的ip类型
- c语言判断日期是否合法的函数(改进版)
- iPhone开发之一组判断邮箱是否合法的代码
- C++练习之 判断输入的年月日是否合法
- 栈的压入、弹出序列(是否合法)
- 判断日期是否合法的方法
- 判断输入的年月日是否合法
- 判断年月日的输入是否合法
- 判断邮箱是否合法的代码
- 判断邮箱是否合法的代码
- 判断邮箱是否合法的代码
- 判断出栈序列是否合法
- 互联网技术发展之路(6)- 服务层技术剖析
- ebs R12 杂收杂发 代码
- 实现Android中TextView的跑马灯效果
- Android之Adapter
- 杭电1425 sort
- c++之判断栈的弹出是否合法
- 猜测首府
- ios:字符串与汉字的判断
- hadoop集群动态添加和删除节点说明
- 主存储器物理地址,逻辑地址,转换
- 互联网技术发展之路(7)- 网络层技术剖析
- Same Tree
- coderforce 500B New Year Permutation
- 二次剩余