8.n个字符的全排列(递归实现)
2012-04-02 12:07
232 查看
#include <cstdlib> #include <iostream> using namespace std; /** 用递归算法求 n 个字符的全排列 */ void sort(char param[],int length,int k ){ if(k==0){//排列结束 输入一个结果 int i=0; for(i=0;i<length;i++){ printf("%c",param[i]); } printf("\n"); } else{ int j=0; for(j=0;j<k;j++){ //交换值 int temp=param[k-1]; param[k-1]=param[j]; param[j]=temp; //递归排列前 k-1 个字符 sort(param,length,k-1); //交换值 temp=param[k-1]; param[k-1]=param[j]; param[j]=temp; } } } int main(int argc, char *argv[]) { char param[]={'a','b','c','d','e'}; int length=5; int k=5; sort(param,length,k); system("PAUSE"); return EXIT_SUCCESS; }
相关文章推荐
- 递归实现的字符全排列
- 递归实现n个不同字符的所有全排列
- N个字符全排列的非递归实现
- N个字符全排列的递归实现
- 递归--任意字符全排列(第二次写)
- 算法——全排列递归实现
- 递归实现数组全排列
- 全排列实现(递归实现深度优先搜索)
- 全排列的递归实现(Java版)
- 递归实现全排列
- 全排列 递归实现
- 算法设计与分析 全排列的递归实现算法
- 全排列的递归与非递归实现
- 非递归方法用栈实现全排列
- C语言 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列
- C++递归实现全排列
- 全排列的递归实现
- 全排列的递归实现方法
- 全排列的非递归实现及递归实现
- java递归实现全排列