怎么样把所有的可能的出栈顺序输出的
在网上查找了很多关于怎么样把所有的可能的出栈顺序输出的的文章,不过遗憾的是,大部分的文章都是只是说这个是卡特蓝数,然后给出一个公式而这个往往只是一个可以求出有多少种可能的公式,网上的文章更加倾向于讨论什么问题适用卡特蓝数。顶多就是看到下面的代码:
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
void func(vector<char>kind, int count[], int n)
{
if (count[0] >= 1)
{
kind.push_back('(');
count[0]--;
func(kind, count, n);
count[0]++;
kind.pop_back();
}
if ((count[1] >= 1) && (count[1] > count[0]))
{
kind.push_back(')');
count[1]--;
func(kind, count, n);
count[1]++;
kind.pop_b