给定入栈顺序,求解出栈顺序
来源:互联网 发布:电气工程制图软件 编辑:程序博客网 时间:2024/05/17 10:03
#include <iostream>#include <vector>using namespace std;void finn(const int n,int cur,vector<int>&stac,vector<int>&outL,int&count){ if((int)outL.size ()==n)//终点 { //如果需要对应的出栈顺序那么outL中即为所求 count++; } if(cur!=n+1)//入栈 { //操作 stac.push_back(cur); //进入下层 finn(n,cur+1,stac,outL,count); //恢复 stac.pop_back (); } if(!stac.empty())//出栈 { //留底 int temp=stac[(int)stac.size ()-1]; //操作 outL.push_back (temp); stac.pop_back (); //进入下层 finn(n,cur,stac,outL,count); //恢复 outL.pop_back (); stac.push_back (temp); }}int f(const int n){ vector<int> stac; vector<int> outL; int count=0; finn(n,1,stac,outL,count); return count;}main(){ int n; cout<<"n="; cin>>n; cout<<"共"<<f(n)<<"个"<<endl;}
0 0
- 给定入栈顺序,求解出栈顺序
- 给定入栈顺序,判断出栈顺序是否合法
- 给定入栈顺序,判断出栈顺序是否合法
- 给定一个入栈顺序和一个出栈顺序,判断出栈顺序是否可能
- 给定入栈顺序求所有出栈可能性
- 给定一个入栈顺序,输出所有的出栈顺序
- 给定入栈顺序,求所有可能的出栈顺序
- 给定入栈顺序,输出所有可能出栈情况及所有情况的总数
- 根据入栈顺序判断出栈顺序是否合法
- 判断出栈顺序是否满足入栈顺序
- 算法学习----给定入栈的顺序,判断另一个顺序是否为该入栈顺序的一个弹出顺序
- 给定入栈顺序,输出所有可能的出栈情况,并判断给定的序列是否为正确的输出序列
- 入栈顺序为1,2,3,4,5出栈顺序不可能的顺序是什么
- 栈/入栈/出栈顺序(c语言)-linux
- 顺序栈的创建、入栈、出栈
- 栈--元素出栈、入栈顺序的合法性问题
- (四)顺序栈的入栈和出栈
- 数据结构顺序栈的入栈与出栈
- Android java 中如何优雅的结束线程
- LeetCode237——Delete Node in a Linked List
- Android基础之横竖屏切换时Activity的生命周期
- poj 3620 Avoid The Lakes
- Heap Spray原理浅析
- 给定入栈顺序,求解出栈顺序
- 南邮 OJ 1199 B_Conversions
- linux上ln命令详细说明
- Json数据的解析
- Android学习笔记——HelloWorld
- Android Download机制详解
- JavaScript自增、自减运算符与表达式语法
- assert()函数用法总结
- git rebase简介(基本篇)