递归实现排列组合
来源:互联网 发布:ubuntu ssh 编辑:程序博客网 时间:2024/05/18 03:14
(置换)给定n大于等于1个元素的集合,打印这个集合所有可能的置换。我们通过观察集合{a,b,c,d},得到生成所有置换的简单算法,以下是算法的构造过程:
(1) a跟在(b,c,d)的所有置换之后。
(2) b跟在(a,c,d)的所有置换之后。
(3) c跟在(a,b,d)的所有置换之后。
(4) d跟在(a,b,c)的所有置换之后。
#include <stdio.h>#include <stdlib.h>#define I 0#define N 2void SWAP(char *c1_,char *c2_,char temp){ temp=*c1_; *c1_=*c2_; *c2_=temp;}void perm(char *list,int i,int n){ //generate all the permutations of list[i] to list[n]); int j,temp=0; if(i==n){ for(j=0;j<=n;j++) printf("%c",list[j]); printf(" "); } else{ //list[i] to list[n] has more than one permutation,generate these recursively for(j=i;j<=n;j++){ SWAP(&list[i],&list[j],temp); perm(list,i+1,n); SWAP(&list[i],&list[j],temp); } }}int main(){ char list[3]={'a','b','c'}; perm(list,I,N); system("pause"); return 1;}
- 递归实现数字排列组合
- 用递归实现排列组合
- 用递归实现排列组合
- 递归实现排列组合
- 排列组合的递归实现
- 递归实现排列组合问题
- 用递归实现排列组合
- Java实现排列组合--递归
- 排列组合算法的递归实现
- java 排列组合(递归实现)
- 递归—排列组合的实现
- 排列组合非递归算法的实现
- java 递归 实现数字的排列组合
- 用递归实现排列组合(java代码)
- Java 非递归实现的排列组合中的平均分组问题
- c++ 递归实现不同字母的全排列组合
- 小程序:递归实现所有变位词的排列组合
- 多个数组间元素排列组合问题求解(Java实现) 标签: 递归排列组合循环
- 软件设计师教程(第三版)(修订版)五章笔记
- Android之MediaPlayer详解
- Java设计模式 - 原型模式 prototype
- Android Tegra平台back camera 驱动实现三 Android中的camera架构及工作原理
- Commonly Used Elements of the DATE Format Mask
- 递归实现排列组合
- uboot中timer定时器的设置
- hdu 4278
- Ubuntu设置su进入root
- shell脚本基础(备忘)
- struts2下载乱码解决方案
- 需求分析要点
- 长方体类
- Ubuntu sudo和gksu的区别