java oop考试题 2 20

用户输入N要求输出1-N的全排列例如N=3123132213231312321求思路代码需求有注释重点是思路,还有人和我说这是递归,我不懂什么事递归,有懂的顺便讲下可好?... 用户输入N 要求输出1-N的全排列
例如 N=3
123 132 213 231 312 321
求思路 代码需求有注释 重点是思路,还有人和我说这是递归,我不懂什么事递归,有懂的顺便讲下可好?
展开
 我来答
yugi111
2015-12-08 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.4亿
展开全部
package com;
/**
 * <P>
 * 全排列或全组合
 */
public class Premutation
{
public static void premutation(int n, int a[], int cur)
{
if(cur == n)
{
for(int i = 0; i < n; i++)
{
System.out.print(a[i] + " ");
}
System.out.println();
}
else
{
for(int i = 1; i <= n; i++)
{
boolean same = false;
for(int j = 0; j < cur; j++)
{
if(a[j] == i)
{
same = true;
}
}
if(!same)
{
a[cur] = i;
// 加上这个条件就是组合,否则就是排列
//if(cur < i)
{
premutation(n, a, cur + 1);
}
}
}
}
}

public static void main(String[] args)
{
int n = 3;
int a[] = new int[n];
premutation(n, a, 0);
}
}
更多追问追答
追问
求个思路啊    光看代码不友善
追答
你连递归都不知道,怎么跟你讲思路?
跟你讲了思路,你就会写么?
如果是这样,那你就可以自己完成了,也不缺别人的一点点的思路
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式