私は、ヒープのアルゴリズムの再帰バージョンの実装に取り組んできました。擬似コードへのリンクは次のとおりです: http://en.wikipedia.org/wiki/Heap%27s_algorithm
再帰部分に到達するまで、すべてが順調に進んでいます。まだ交換要素を入れていないことはわかっていますが、そこまでは進んでいません。セグメンテーション違反があったことを示す gcc デバッガーを使用するまで、実行はエラーを表示せずに失敗します。これが私のコードです:
#include <string>
#include <iostream>
using namespace std;
string* permute(int n, string array[2]){
if (n==1){
return array;
}
else{
for(int c=1; c<=n;c++){
permute(n--,array);
}
}
}
int main() {
string array[2]={"a","b"};
permute(2,array);
return 0;
}