Tag: 多维数组

如何将2D数组转换为1D?

我有一个代码,使用用户输入创建2d数组,它工作正常,但现在我有2个问题 第一个:如何将2D数组转换为1D数组? 第二个问题:如何选择或追踪二维数组右上对角线以上的元素? 任何人都可以帮我解决这个问题? 这是我的代码 package question3; import java.util.Arrays; import java.util.Collection; import java.util.Scanner; public class Array2d { public static void main(String[] args) { int[][] matrix = new int[3][3]; int[] array = new int[matrix.length * matrix.length]; Scanner sc = new Scanner(System.in); System.out.print(“Please enter 9 integers separated by spaces:”); for (int i = 0; i < matrix.length; […]

在Kotlin中展开二维数组的迭代器

我有一个Grid类,包装在Cell对象的二维数组。 我希望这个类实现Iterable接口,以便在循环中使用它并直接遍历整个单元格。 有一个简单的方法来做到这一点? Kotlin是否支持yield return样式迭代器? 我目前的解决方案是相当冗长的: override fun iterator() = object : Iterator { val currentOuter = grid.iterator() // grid is object of Array<Array> var currentInner = if (currentOuter.hasNext()) currentOuter.next().iterator() else arrayOf().iterator() override fun next(): Cell { if (!hasNext()) { throw NoSuchElementException() } return if (currentInner.hasNext()) { currentInner.next() } else { currentInner = currentOuter.next().iterator() currentInner.next() […]