#include <iostream> using namespace std; /* * 递归思想实现全排列; * 对abc进行全排列,那么可以看做:ab的全排列+c和ac的全排列+b和bc的全排列+a三个的组合; */ void Perm(char *list, int k) { //排列list数组中k以后的子串 ; int i; if ('\0' == list[k]) {//输出一个排列方式; printf("%s\t",list); putchar('\n'); } else { for (i=k; list[i]!='\0'; i++) { swap (list[k], list[i]); Perm (list, k+1);//全排列右子串; swap (list[k], list[i]); } } } int main(int argc ,char *argv[]) { char str[10] = "123"; Perm(str,1); return 0; }
有篇关于递归算法设计ppt讲的很好
递归思想实现全排列
最新推荐文章于 2023-10-16 14:39:47 发布