程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 打印出所有可能的括號組合

打印出所有可能的括號組合

編輯:C++入門知識

以下為遞歸方法實現
[cpp]
#include <vector> 
#include <iostream> 
 
#define N 3 
 
void 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; 
}; 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved