全排列--递归法

来源:互联网 发布:线切割自动编程软件 编辑:程序博客网 时间:2024/05/21 09:27

#include <stdio.h >

#include <string.h>

void Swap(char *a ,char * b)

{

char t=*a;

        *a=*b;

*b=t;

}


void AllRange(char *p,int begin, int end)

{

if(begin==end)

printf("%s",p);

else{

for(int i=begin;i<=end;i++)

{

Swap(p+begin,p+i);

AllRange(p,begin+1,end);

Swap(p+begin,p+i);

}

}

}


int main()

{

char *str="12345";

       AllRange(str,0,strlen(str)-1);

}