如何转换一维数组被列为主,以2D [英] How to convert 1D array to 2D by column major

查看:80
本文介绍了如何转换一维数组被列为主,以2D的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说我有一维数组如 INT [] X = {1,2,3,4,5,6,7,8,9,10,11,12,13,14, 15,16} 。结果
我想这CONVER到2D它看起来像:

say I have a 1D array like int[] x = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}.
I would like to conver it into 2D where it looks like:

1 5  9 13  
2 6 10 14  
3 7 11 15  
4 8 12 16  

目前,我有

for (int i = 0; i < 4; i++)
{
    for (int j = 0; j < Nb; j++)
        s[i][j] = x[i + j];
}

不过,这并不工作。我会怎么做呢?

However, that doesnt work. How would I do this?

推荐答案

尝试

for (int i = 0, k=0; i < 4; i++)
  for (int j = 0; j < Nb; j++)
    s[j][i] = x[k++]; // you may want s[i][j]

这篇关于如何转换一维数组被列为主,以2D的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆