我在这里画了一个巨大的空白。
我发现的所有内容都是关于从给定行和列中获取索引的,但是如何从索引中获取行和列呢?
这一行很简单:(int)(index / width)
。
我的大脑在计算柱子的时候大量出血。
真为我感到羞耻。
发布于 2012-08-06 10:36:03
对于从零开始的索引,有两个操作,其中width
是结构的宽度:
row = index / width
column = index % width
这些是使用整数的C,其中除法向下舍入,%
模运算符给出余数。如果你不使用C语言,你可能需要转换成等价的操作。
如果你没有模运算符,你可以使用:
row = index / width
column = index - (row * width)
发布于 2018-02-07 19:08:38
Paxdiablo的答案是正确的。如果有人需要相反的过程从行和列中获取索引:
index = (row * width) + column
发布于 2018-08-09 04:11:50
Swift 4
typealias ColumnRowType = (column:Int, row:Int)
func indexToColumnRow(index:Int, columns:Int) -> ColumnRowType
{
let columnIndex = (index % columns)
let rowIndex = /*floor*/(index / columns) // we just cast to an `Int`
return ColumnRowType(columnIndex, rowIndex)
}
https://stackoverflow.com/questions/11821899
复制相似问题