首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

打印出全部可能的括号组合

2012-09-16 
打印出所有可能的括号组合以下为递归方法实现#include vector#include iostream#define N 3void print

打印出所有可能的括号组合

以下为递归方法实现

#include <vector>#include <iostream>#define N 3void print(int left, int right, std::vector<char> v){    if (left == right && left == N)    {        for (size_t i = 0; i < v.size(); i++)        {            std::cout << v[i];        }        std::cout << std::endl;        return;    }    if (left > right)    {        v.push_back(')');        print(left, right + 1, v);                if (left < N)        {            v.pop_back();            v.push_back('(');            print(left + 1, right, v);        }    }    else    {        v.push_back('(');        print(left + 1, right, v);    }};int main(){    std::vector<char> v;    print(0, 0, v);    return 0;};


热点排行