通过递归的方法实现java数组全排列

通过递归的方法实现java数组全排列


通过递归的方法实现实现数组的全排列.

	public static double[][] Func(double[] array,int q) {
		if(q==array.length-1) {return null;}
		double[] m=array.clone();//一定要使用克隆的方式给m复制
		double[][] tmp=new double[array.length][];
		for (int i = q; i < array.length-1; i++) {
			m[q]=array[i];
			m[i]=array[q];
			tmp[i]=m;
			//下面这个循环是用来打印每一次排列的结果的
			for (int j = 0; j < m.length; j++) {
				System.out.print(m[j]+"  ");
			}
			m=array.clone();//将m复原
			System.out.println();
		}
		Func(l,q+1);
		return tmp;
	}
	public static void main(String[] args) throws Exception {
		double[] array= {0.5,0.6,0.7,0.8,0.9,0.11};
		Func(array,0);//将数组array第0位开始全排列,得到的是一个存储所有排列结果的二维数组
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值