横向二维锯齿状阵列,列优先

给定一个名为 的二维数组testing。我知道如何横切锯齿状数组,但它会开始testing[0][0]然后转到testing[0][1].


我将如何横切这个锯齿状阵列,从 开始[0][0]然后到[1][0]?


这是我迄今为止尝试过的......


        for (int x = 0, counter = 0; x < testing[counter].length; x++) {

            for (int y = 0; y < testing.length; y++) {

                System.out.println(testing[y][x]);

        }


        counter++;

    }

}


拉丁的传说
浏览 141回答 1
1回答

潇潇雨雨

首先在内部索引上迭代锯齿状数组的问题是知道何时停止(即外部循环不变量)并知道完全跳过处理内部循环(即break条件)。要获得外循环不变,您可以使用几种不同的方法。一种简单的方法是提前计算最大内部索引。更有效的方法是 do-while 循环。它在循环结束时检查一个 did-I-do-any-work 布尔值,如果是,则继续。这样您就不必预先计算最大内部索引。要获得中断条件,只需检查存储在第二维中的数组的长度。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java