📄 排列.java
字号:
package 算法;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
public class 排列 {
static int num,cont=0;
public static void main(String [] args) throws IOException{
int i;
int a[] = new int[30];
System.out.println("请输入要进行全排列的数N(N<=9):");
//读取用户输入的信息
Reader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
String str = br.readLine();
//字符转化为数字
num = Integer.parseInt(str);
for(i=1;i<=num;i++)
a[i]=i;
perm(a,1);
//打印总的排列个数
System.out.println("总共有"+cont+"种方法");
}
static int perm(int b[], int i){
int k,j,temp;
//如果i=用户输入的数
if(i==num){
//直接按顺序打印数组的值
for(k=1;k<=num;k++)
System.out.print(b[k]+" ");
System.out.println();
cont++;
}else
for(j=i;j<=num;j++){
//将b[i]与b[j]交换
temp=b[i];
b[i]=b[j];
b[j]=temp;
//进行下一次排列
perm(b,i+1);
// 再次将b[i]与b[j]交换
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
return(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -