#include <string.h>
#include <stdlib.h>
#include <iostream>
void swap(char *a,char *b)
{
char tmp=*a;
*a=*b;
*b=tmp;
}
void AllRange(char *str,int k,int m)
{
if(k==m)
{
static int s_i=1;
printf("第%d个排列是%s\n",s_i++,str);
}
else
{
int i;
for(i=k;i<=m;i++)
{
swap(&str[i],&str[k]);
AllRange(str,k+1,m);
swap(&str[i],&str[k]);
}
}
}
int main()
{
char str[]="abcd";
int i=strlen(str);
AllRange(str,0,i-1);
}
m个数的全排列
最新推荐文章于 2021-08-25 15:36:39 发布