递归分治解决全排列问题
2011-12-08 16:16
211 查看
#include<iostream> using namespace std; template<class Type> inline void Swap(Type &a,Type &b){ Type temp = a; a = b; b = temp; } template<class Type> void Perm(Type list[],int k,int m){ if(k == m) { for(int i = 0;i<=m;i++) cout<<list[i]; cout<<endl; } else for(int i = k;i <= m;i++){ Swap(list[k],list[i]); Perm(list,k+1,m); Swap(list[k],list[i]); } } void main(){ int L[3] = {1,2,3}; Perm(L,0,2); }
相关文章推荐
- Java语言描述:递归与分治策略之全排列问题
- 递归分治策略——Java之棋盘覆盖问题解决
- 递归和分治思想解全排列问题
- 利用递归解决全排列问题
- [分治递归]解决最大子序列和问题
- 字符串全排列问题(递归解决有重复字符问题)
- 递归分治解决棋盘覆盖问题
- 【算法基础】递归分治算法解决汉诺塔问题
- 利用递归解决全排列问题
- 递归解决全排列问题+详细图解递归执行
- 递归与分治之全排列问题和火车进站问题
- 递归解决输出一个字符串的全排列问题(缺陷:没有考虑字符串中字符重复的问题)
- Java递归解决全排列问题
- Java基于递归解决全排列问题算法示例
- 递归解决全排列问题
- java使用递归解决全排列问题
- 使用递归-分治方法解决汉诺塔问题
- 分治法对最大连续和以及归并排序,分治与递归实质把问题区间区域分割成几个小区间或者小分区,一直下钻到一个元素小区解决问题
- 使用C语言解决字符串全排列问题
- 递归解决全排列(有重复字符)