标签:递归 置换 算法 c语言 permutations
#include <stdio.h> #include <string.h> #define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) void perm(char *list,int k,int m) { char temp; if(k==m) { printf("%s\n",list); } else { for(int i=k;i<=m;i++) { SWAP(list[i],list[k],temp); perm(list,k+1,m); SWAP(list[i],list[k],temp); } } } int main() { char list[1024]; scanf("%s",list); perm(list,0,strlen(list)-1); return 0; }http://nodeoj.chinacloudapp.cn/P/2530
标签:递归 置换 算法 c语言 permutations
原文地址:http://blog.csdn.net/huolang_vip/article/details/43565049