全排列的递归算法(以此加深对递归的理解)
2013-12-09 18:16
274 查看
#include<iostream> #include<algorithm> using namespace std; #define length 3 void permutation(char arr[],int idx,int size) { if(size==0){ for(int i=0;i<length;++i) cout<<arr[i]; cout<<endl; } else { for(int j=0;j<size;++j){ swap(arr[idx],arr[idx+j]); permutation(arr,idx+1,size-1); swap(arr[idx],arr[idx+j]); } } } int main() { int size=length; char arr[length]={'a','b','c'}; permutation(arr,0,size); return 0; }
相关文章推荐
- [算法]递归算法中sort的递归理解以及原地归并和自顶向下递归排序
- 【递归算法】人脑理解递归
- 递归算法--如何一步一步理解递归(2)--全排列
- 康拓排列的自我总结--以及全排列的递归非递归算法
- 递归算法:将数据分为两部分,递归将数据从左侧移右侧实现全排列
- 递归算法--如何一步一步理解递归(1)
- 全排列的简单递归方法(有重复元素和无重复元素的递归算法)
- 用递归求解全排列问题(个人理解)
- 递归算法详细分析(如何更好的理解递归)
- 全排列递归的理解
- 由erlang的递归理解数组的全排列问题
- 全排列(含递归和非递归的解法)
- 【对递归的理解】Maximum Depth of Binary Tree
- [续]全排列的非递归实现
- 递归 全排列 问题
- 深入理解Python中的模块、包、递归和正则表达式
- 解决函数中返回局部指针变量的问题,加深理解《堆和栈》问题
- 【转】HttpHandler的认识与加深理解
- 《算法之美》の递归与分治策略の全排列问题
- 全排列(递归与非递归)