n个元素进栈,输出所有出栈序列-卡特兰数-递归
来源:互联网 发布:华科工商管理知乎 编辑:程序博客网 时间:2024/06/05 01:18
#include <iostream>#include <stack>#include <queue>#include <algorithm>#include <string.h>#include <cstdio>#include <stdlib.h>#include <cctype>#include <stack>#include <queue>using namespace std;void printAllOutStackSeq( queue<int> inQueue, int n, stack<int> st, queue<int> out ){if( n <= 0 || ( inQueue.empty() && st.empty() && out.empty() ) ){return;}if( out.size() == n ){while( !out.empty() ){cout << out.front() << ' ';out.pop();}cout << endl;return;}stack<int> stCopy = st; // 备份一下,否则储转queue<int> outCopy = out;if( !st.empty() ) // 出栈,将元素出栈,push到结果队列中{out.push( st.top() );st.pop();printAllOutStackSeq( inQueue, n, st, out );}if( !inQueue.empty() ) // 入栈,将输入队列出队,进行入栈{stCopy.push( inQueue.front() );inQueue.pop();printAllOutStackSeq( inQueue, n, stCopy, outCopy );}return;}int main(){int ret = 0;int a[] = { 1, 2, 3, 4 };queue<int> inQueue;for( int i = 0; i < 4; i++ ){inQueue.push( a[i] );}int n;stack<int> st;queue<int> out;printAllOutStackSeq( inQueue, 4, st, out );return ret;}/*n个元素入栈,出栈序列个数: C(2n,n)/(n+1)./a.out1 2 3 4 1 2 4 3 1 3 2 4 1 3 4 2 1 4 3 2 2 1 3 4 2 1 4 3 2 3 1 4 2 3 4 1 2 4 3 1 3 2 1 4 3 2 4 1 3 4 2 1 4 3 2 1 ./a.out|wc -l14*/
0 0
- n个元素进栈,输出所有出栈序列-卡特兰数-递归
- 卡特兰数(Catalan)应用:输出所有N对合法括号序列和输出所有已知进栈序列的合法出栈序列
- 卡特兰数---n 个元素顺序入栈,则可能的出栈序列有多少种
- 出栈序列与卡特兰数
- n个不同数所有可能的出栈顺序及其引出的卡特兰数(catalan)
- 卡特兰数问题——一个栈(无穷大)的进栈序列为1,2,3,…,n,有多少个不同的出栈序列?
- 一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列? (卡特兰数)
- 卡特兰数应用--n个元素的出栈顺序与从(0,0)到(n,n)不穿过对角线的方法数
- vijos - P1122出栈序列统计 (卡特兰数)
- 合理的出栈序列, 卡特兰数, 栈:先进后出
- Bailian4077 出栈序列统计【卡特兰数】(vijos P1122)
- 出栈顺序和卡特兰数的关系
- 【卡特兰数】有N对括号,输出所有合法的组合
- 数据结构_任意N个元素有多少种出栈顺序(卡特兰数证明)
- 卡特兰数(出栈序列以及已知先序遍历求树的形状的个数)
- pku1095卡特兰数+递归
- 卡特兰数-N个结点二叉树个数
- 使用递归函数,输出n个元素的所有子集
- <快速幂模> N^N的末尾数字
- 并发下常见的加锁及锁的PHP具体实现
- 丰厚资本杨守彬:创业就是从地狱到天堂,路过人间而已
- XXX Params.addRule(); 该方法不能用的问题
- sql和mysql内连接更新
- n个元素进栈,输出所有出栈序列-卡特兰数-递归
- 孙孙啊i之项目实战(三) 引导页
- eax, ebx, ecx, edx, esi, edi, ebp, esp等通用寄存器的作用
- java中BitMap实现
- 140.Sort List
- 获取屏幕分辨率的方法
- 支付宝或者微信支付的回调处理
- java && & 区别
- Package php5 have no installation candidate。