主题:[原创]数组元素在数组中移动 怎么解决啊,急求!!!!
紫电秋痕
[专家分:0] 发布于 2007-10-26 00:40:00
我遇到一个难题,恳请大家指导:
在一个数组中{0,3,0,7,8,9}我要让 3 移动到 9 的位置,其效果就是:
移动一次:{0,0,3,0,7,8,9},
移动两次:{0,0,0,3,7,8,9},
移动三次:{0,0,0,0,3,8,9},
移动四次:{0,0,0,0,7,3,9},
移动五次:{0,0,0,0,7,8,3},
具体怎么实现啊?,有什么具体方法么?请各位大虾指点:
回复列表 (共2个回复)
沙发
daifei4321 [专家分:2590] 发布于 2007-10-26 01:24:00
class A{
public static void out(int[] n) {
for (int a : n) {
System.out.print(a + " ");
}
System.out.println();
}
public static void main(String[] a) {
int[] n = {0, 3, 0, 0, 7, 8, 9};
int extra = 0;//The Number to replace 3 is 0
process(n, extra, 2);
}
public static void process(int[] n, int extra, int indexMove) {
out(n);
if (indexMove < 1 || indexMove >= n.length) {
return;
}
int temp = n[indexMove - 1];
n[indexMove - 1] = extra;
extra = n[indexMove];
n[indexMove] = temp;
process(n, extra, indexMove + 1);
}
}
板凳
紫电秋痕 [专家分:0] 发布于 2007-10-26 13:18:00
谢谢大虾了,[em2]
我来回复