递归思想实现全排列
2013-04-30 20:47
190 查看
#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讲的很好
http://www.doc88.com/p-992956316289.html
相关文章推荐
- 递归思想实现全排列
- 全排列的递归与非递归实现
- 递归算法:将数据分为两部分,递归将数据从左侧移右侧实现全排列
- 非递归实现不重复序列的全排列(三)
- 全排列的非递归实现及递归实现
- 全排列实现(递归,去重复,字典排序,stl实现)
- 递归实现数的全排列
- 非递归实现不重复序列的全排列(一)
- 递归思想实现大数问题(打印1到n位最大整数)
- java 递归实现元素全排列
- 使用递归方法实现全排列
- 用递归思想实现字符串反转
- java递归实现全排列
- 递归实例——C语言实现全排列
- Java递归实现围棋提子思想
- Ackerman函数的递归、全排列的递归实现、整数划分的递归、二分搜索的递归、合并排序的递归、.快速排序
- 利用递归实现全排列
- 递归思想,实现字符串反转
- 算法——全排列递归实现
- 《Java数据结构与算法》笔记-CH6-递归-1递归实现全排列字符串