fac2_4.java
来自「java 算法设计与分析的好资料.由王晓东先生主编.」· Java 代码 · 共 43 行
JAVA
43 行
//本程序取自王晓东编著“算法分析与设计”第 21 页,例2-4
//排列问题的递归解法
class MyMath{
public MyMath(){
}
static void swap(double[] a,int i,int j)
{
double temp;
if(a[i]>a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;}
}
}
public class Fac2_4{
public static void perm(double[] list ,int k,int m)
{ //产生lisi[k:m]的所有排列
if(k==m)
{//单元素序列
for(int i=0;i<=m;i++)
System.out.print(list[i]+" ");
System.out.println(" 单元素序列"+k);
}
else
{// 多元素序列,递归产生排序
{ for(int i=k;i<=m;i++)
MyMath.swap(list,k,i);
perm(list,k+1,m);
//MyMath.swap(list,k,i);
}
}
}
public static void main(String args[])
{
double a[]={9.0,78.8,23.6,2.9,56.78};
int x=a.length-1;
int y=0;
System.out.println("输出排序结果");
perm(a,y,x);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?