求助!!!一个算法问题(在线等) 用回溯法生成1,2,.....,n 的所有排列那位大哥好心帮我解决一下谢谢啦!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class TestArrange { private int[] result = null; private int number; public TestArrange(int number) { this.number = number; result = new int[number]; } public void arrange(int step) { if(step == number) { printresult(); } else { for(int point = 0; point < number; point ++) { if( hasarranged(point, step) == false) { result[step] = point; arrange(step +1); } } } } private void printresult() { for(int i =0; i<number; i++) { System.out.print(result[i] + " "); } System.out.println(); } private boolean hasarranged(int point, int step) { boolean res = false; for(int i=0; i<step; i++) { if( result[i] == point) { res = true; break; } } return res; } public static void main(String[] args) { TestArrange ta = new TestArrange(5); ta.arrange(0); }} 有正则表达式学得比较好的么?? JPane的绘图区为什么不变大? 关于把Panel放到JScrollPane里面,实现垂直滚动的问题! 无法显示jpeg格式的图片 一个简单的问题 在JAVA方面,哪些英文网站比较好? 小弟有一个关于paint的问题 用流类知识如何修改文本文件的内容?? 大虾版主帮忙看看!! 我在win2kserver下安装jdk1.3没有成功???? jsp中关于include的中文乱码问题 异常问题
private int[] result = null;
private int number;
public TestArrange(int number) {
this.number = number;
result = new int[number];
}
public void arrange(int step) {
if(step == number) {
printresult();
}
else {
for(int point = 0; point < number; point ++) {
if( hasarranged(point, step) == false) {
result[step] = point;
arrange(step +1);
}
}
}
}
private void printresult() {
for(int i =0; i<number; i++) {
System.out.print(result[i] + " ");
}
System.out.println();
}
private boolean hasarranged(int point, int step) {
boolean res = false;
for(int i=0; i<step; i++) {
if( result[i] == point) {
res = true;
break;
}
}
return res;
}
public static void main(String[] args) {
TestArrange ta = new TestArrange(5);
ta.arrange(0);
}
}