【发布时间】:2019-03-12 16:24:38
【问题描述】:
我可以知道如何获得 NxN 矩阵的数组大小
行数与否:我的输入为 4x4 的列数
arr[4][4]
类似于arr[N].count 的行和arr[][N].count 的列?
请指教
【问题讨论】:
-
请使用相关代码更新您的问题。展示你如何声明你的“矩阵”。
我可以知道如何获得 NxN 矩阵的数组大小
行数与否:我的输入为 4x4 的列数
arr[4][4]
类似于arr[N].count 的行和arr[][N].count 的列?
请指教
【问题讨论】:
使用内置的Array 类型,您无法创建保证为“NxN” 的二维Array(您将其称为矩阵),因为您无法保证所有内部数组都将具有相同数量的元素,并且您也不能保证内部数组中的元素数量与二维数组中的数组数量相同。
但是,您可以使用arr.count 访问内部数组(或“行”)的数量,并且您可以使用arr[i].count 访问内部数组中的元素数量(这将是"columns" 的数量,假设所有内部数组具有相同数量的元素)。
如果您将大量使用二维Arrays,并且您想保证所有内部数组具有相同数量的元素,我建议您创建一个自定义Collection。
【讨论】:
您可以使用count 或endIndex 获取尺寸,但您需要分别检查每一行。
var matrix: [[Int]] = [[1,2,3], [4,5,6,7], [8,9]]
print(matrix.count)
for i in 0..<matrix.endIndex {
print(matrix[i].endIndex)
}
【讨论】: