首页 > 编程知识 正文

排列组合原理java(java计算组合数)

时间:2023-05-05 21:44:23 阅读:68243 作者:4582

本文中的示例介绍了Java用于获取数组的指定长度数组组合算法。 分享仅供参考。 具体如下。

打包演示;

import java.util.Stack;

//*

* JAVA获取数组的指定长度的数组组合。

*

* @author JAVA世纪网(java2000.net,laozizhu.com) ) ) ) )。

*/

公共类测试服务质量

publicstaticvoidmain (字符串[ ] args ) {

testsequenceallt=newtestsequenceall (;

object [ ] arr={ 1,2,3 };

//循环得到每个长度的排列组合

for(intnum=1; num=arr.length; num ()。

t .获取序列(arr,0,num );

}

}

//保存结果的堆栈

私密堆栈=new stack (;

//*

*从指定数组中获取指定数量的数据组合

*

* @param arr指定的数组

* @param begin开始位置

* @param num获得的数量

*/

publicvoidgetsequence (object [ ] arr,int begin,int num ) {

if(num==0) {

system.out.println (堆叠; //找到一个结果

} else {

//循环使用各可用要素

for(intI=Begin; i arr.length; I ) {

//将当前位置数据放入结果堆栈

stack.push(ARR[I];

//将当前数据与起始位置数据交换

swap(arr,begin,I );

//从下一个位置查找剩下的组合

获取序列(arr,begin 1,num - 1 );

//交换回来

swap(arr,begin,I );

//删除当前数据

stack.pop (;

}

}

}

//*

*交换两个数组的元素

*

* @param arr数组

* @param from位置1

* @param to位置2

*/

publicstaticvoidswap (object [ ] arr,int from,int to ) {

if (从==到) {

返回;

}

对象tmp=arr [ from ];

arr [从]=arr [到];

arr[to]=tmp;

}

}

执行结果:

[1]

[2]

[3]

[ 1,2 ]

[ 1,3 ]

[ 2,1 ]

[ 2,3 ]

[ 3,2 ]

[ 3,1 ]

[ 1,2,3 ]

[ 1,3,2 ]

[ 2,1,3 ]

[ 2,3,1 ]

[ 3,2,1 ]

[ 3,1,2 ]

对java算法相关内容更感兴趣的读者可以查看本网站专题: 《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》、《Java缓存操作技巧汇总》、0103010

希望本文的描述对大家的java编程有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。