排列问题
来源:互联网 发布:上海编程培训机构 编辑:程序博客网 时间:2024/05/01 21:27
算法思想过程:
集合R,r1,r2,r3,...,rn为集合R的元素。
当元素n为1个时,perm(R)=(r),其中r为集合R中唯一的元素;
当n>1时,perm(R)由(r1)perm(R1),(r2)perm(R2),...,(rn)perm(Rn)组成。
package cn.aaa;
public class perm {//排序函数
public static void perm(Object list[],int k,int m){ //k为起点,m为终点
//产生list[k:m]的所有排列
if(k==m){ //只剩下一个元素for(int i=0;i<=m;i++)
System.out.print(list[i]);
System.out.println();
}else{ //还有很多个元素,递归产生排列
for(int i=k;i<=m;i++){
swap(list,k,i);
perm(list,k+1,m);
swap(list,k,i);
}
}
}
//交换函数,交换list中第k个位置与第m个位置的值
public static void swap(Object list[],int k,int m){
Object temp;
temp = list[k];
list[k] = list[m];
list[m] = temp;
}
public static void main(String[] args) {
Object list[] = {1,2,3,4};
System.out.println("list的所有排列为:");
}
}
0 0
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 02-maven之helloWorld
- 一起talk C栗子吧(第一百三十四回:C语言实例--创建线程时的内存细节)
- 利用栈计算表达式的值
- 面向对象在javascript中的实践之多种方式创建对象
- C++第二次作业
- 排列问题
- JavaScript BOM与客户端检测
- OC阅读笔记八:分类(上)
- 在有子类的时候,其构造函数的执行及顺序。
- 可变参数的应用
- Cocos游戏引擎VRDemo正式放出 助力虚拟现实游戏开发
- 3.31日学习记录
- jar7
- 浅谈css背景