回 帖 发 新 帖 刷新版面

主题:[原创]数组元素在数组中移动 怎么解决啊,急求!!!!

我遇到一个难题,恳请大家指导:
在一个数组中{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个回复)

沙发

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);
    }
}

板凳


谢谢大虾了,[em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册