打印全部括号匹配排列方式
打印所有括号匹配排列方式
对于2对左右括号,其排列方式有:
( ( ) )
( ) ( )
4对括号的排列方式有:
( ( ( ( ) ) ) )
( ( ( ) ( ) ) )
( ( ( ) ) ( ) )
( ( ( ) ) ) ( )
( ( ) ( ( ) ) )
( ( ) ( ) ( ) )
( ( ) ( ) ) ( )
( ( ) ) ( ( ) )
( ( ) ) ( ) ( )
( ) ( ( ( ) ) )
( ) ( ( ) ( ) )
( ) ( ( ) ) ( )
( ) ( ) ( ( ) )
( ) ( ) ( ) ( )
下面给出生成排列的代码:
#include <iostream> #include <vector> using namespace std; //Print the legal combination void PrintBrackets(const vector<char> & brackets) { for (vector<char>::const_iterator it = brackets.begin(); it != brackets.end(); ++it) cout $amp; <amp> </amp> <amp> </amp> <amp> </amp> <amp> amp;$gt; braNum && braNum) { vector<char> brackets; MatchBrackets(braNum, brackets); } return 0; } </amp>