读书人

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

发布时间: 2012-09-16 17:33:16 作者: rapoo

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

以下为递归方法实现

#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;};


读书人网 >其他相关

热点推荐