首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从索引中获取行和列?

如何从索引中获取行和列?
EN

Stack Overflow用户
提问于 2012-08-06 10:29:46
回答 4查看 27.2K关注 0票数 33

我在这里画了一个巨大的空白。

我发现的所有内容都是关于从给定行和列中获取索引的,但是如何从索引中获取行和列呢?

这一行很简单:(int)(index / width)

我的大脑在计算柱子的时候大量出血。

真为我感到羞耻。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-06 10:36:03

对于从零开始的索引,有两个操作,其中width是结构的宽度:

代码语言:javascript
复制
row    = index / width
column = index % width

这些是使用整数的C,其中除法向下舍入,%模运算符给出余数。如果你不使用C语言,你可能需要转换成等价的操作。

如果你没有模运算符,你可以使用:

代码语言:javascript
复制
row    = index / width
column = index - (row * width)
票数 67
EN

Stack Overflow用户

发布于 2018-02-07 19:08:38

Paxdiablo的答案是正确的。如果有人需要相反的过程从行和列中获取索引:

代码语言:javascript
复制
index = (row * width) + column
票数 20
EN

Stack Overflow用户

发布于 2018-08-09 04:11:50

Swift 4

代码语言:javascript
复制
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)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11821899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档