167プログラミングして全配列アルゴリズムを実現してください.
1549 ワード
67、全整列アルゴリズムをプログラミングしてください.全配列アルゴリズムは、2つの比較的一般的な実装があります.再帰的な配列と辞書の順序配列です.
/*
67、 。
: 。
(1)
, , ,
, .
(2)
, , , 。
, 12345, 54321。 12345, 12354, 12435,12453.... 。
:
, ( ) 。 , , ,TiTi( k=j), , Ti Tk,
Tj Tn(Tn ) 。
。 ij.
839647521 1~9 。 :
4 839647521
4 5 839647521
5 4 839657421
7421 839651247
839647521 839651247。
839651247 839651274。
, ,
, , 。
, , ( , );
、 , , 。
*/
#include
#include
#include
using namespace std;
//template
int k,n=4;
//
void rankRuc(char perm[],int n,int index)
{
if(index==n)
{
printf("%2d:",k++);
for(int i=0;i=0;--i)
if (perm[i]i;--k)
if(perm[k]>perm[i])
break;
swap(perm[i],perm[k]);
reverse(perm +i+1,perm+num);
for(int i=0;i