配列された再帰的なアルゴリズムの完全な文字列の応用

#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つずつの出力の各ずつあればループ転置のためにある条件文

まず、最初の数字または文字、すなわち、完全な、一つ一つ、再帰的に当時によって決定され、されます

さあ、このアルゴリズムは、最終的に学びます!

おすすめ

転載: www.cnblogs.com/123yuan/p/11041744.html