假设我们有这样的一个二维数组
1 | (X,Y) 0 1 2 |
- (0, 0) -> 0
- (1, 0) -> 1
- (2, 0) -> 2
- (0, 1) -> 3
- (1, 1) -> 4
- (2, 1) -> 5
- (0, 2) -> 6
- (1, 2) -> 7
- (2, 2) -> 8
下面我们实现这个算法我们可以这样想象: 将这个二维数组串行, 就是以1
2
3
4
5
6
7
8
9
10
11
12public class Test {
public static void main(String[] args) {
int width = 3;
int length = 3;
for (int x = 0; x < width; x++) {
for (int y = 0; y < length; y++) {
System.out.println("(" + x + ", " + y + ")" + (x + y * length));
}
}
}
}0, 1 , 2, 3, 4, 5, 6
, 当计算(1, 1)这个坐标的时候就是用x加上 y在x上移动的倍数