#include <iostreamの> 使用して 名前空間STD; char型 STR [] = " 1234 " ; int型のサイズ= はsizeof(STR)/ はsizeof(文字); // マルチの長さよりもSTRサイズの実際の長さ 空隙 FACT(INT からの、INTに)// 始点から終点まで、 { IF(から == )の { ため(int型 I = 0 Iは=から<; Iは++ ) { COUT << STR [I]。 } COUT << ' \ N- ' ; リターン; } ため(INT I = から、私は<=であり; Iは++ ) { スワップ(STR [I]、STR [ から ]); // 2つのトランスデューサの長手方向の位置 // 最初STR [I] STRである[1] STRなる二度目、[から]とstr [0]交換 FACT(から + 。1 ;に) スワップ(STR [i]は、STRを【から)]; // 元の配列に文字列、すなわち1234となる } } int型のmain() { FACT(0、、サイズ2); // [3]のSTRにSTR [0]からなる文字列、 // サイズ5の実際の長さは、文字列の長さは4である。 戻り 0 ; }
1.for交換が自分自身を変更する最初のサイクルであるが、しかしときに、第2のビットの開始位置の転位I
2つずつの出力の各ずつあればループ転置のためにある条件文
まず、最初の数字または文字、すなわち、完全な、一つ一つ、再帰的に当時によって決定され、されます
さあ、このアルゴリズムは、最終的に学びます!!!