用Java实现排列算法:
package Sort;
import java.util.ArrayList;
import java.util.List;
public class Arrange {
public static void main(String[] args) {
Arrange arrange = new Arrange();
List<Character> data = new ArrayList<Character>();
data.add('a');
data.add('b');
data.add('c');
data.add('d');
//输出A(n,n)的全排列
for(int i = 1; i <= data.size(); i++)
arrange.arrangeSelect(data,new ArrayList<Character>(),i);
}
/**
* 计算A(n,k)
*
* @param data
* @param target
* @param k
*/
public <E> void arrangeSelect(List<E> data,List<E> target, int k) {
List<E> copyData;
List<E> copyTarget;
if(target.size() == k) {
for(E i : target)
System.out.print(i);
System.out.println();
}
for(int i=0; i<data.size(); i++) {
copyData = new ArrayList<E>(data);
copyTarget = new ArrayList<E>(target);
copyTarget.add(copyData.get(i));
copyD

本文详细介绍了如何使用Java语言实现排列和组合算法。通过示例代码,展示了如何生成特定数量元素的所有不同排列以及如何计算组合数。
411

被折叠的 条评论
为什么被折叠?



