一维数组到二维数组的转换

kaixin921004 2009-09-10 11:10:37
我的一维数组为a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
怎么转换为
1,2,5,6
3,4,7,8
9,10,13,14,
11,12,15,16,
这样的形式,也可以说成对一个矩阵进行了四叉树分解叶子节点都保存在一维数组里了,怎么还原为以前的矩阵,我上面写的是一个例子,代码怎么写,不要写死可以扩展为更多的,谢谢了
...全文
628 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhfanxin 2009-10-05
  • 打赏
  • 举报
回复
用正则表达式吧
僵哥 2009-10-05
  • 打赏
  • 举报
回复
不知道楼主的64个数字是否需要按这样子排:
引用
01,02,05,06 17,18,21,22
03,04,07,08 19,20,23,24
09,10,13,14 25,26,29,30
11,12,15,16 27,28,31,32

33,34,37,38 49,50,53,54
35,36,39,40 51,52,55,56
41,42,45,46 57,58,61,62
43,44,47,48 59,60,63,64
僵哥 2009-10-05
  • 打赏
  • 举报
回复
好高深的问题...

看了半天没明白楼主的问题,哪里体现了一维数组转二维数组...

看排列结果来讲,象是把一组16个数,分成2 x 2的四个小矩阵,咋看也没看出"四叉树"...呃,人老了,跟不上年轻人的思维了...
fogota 2009-10-05
  • 打赏
  • 举报
回复
上面写错了~~是8*8中构成Z形...
fogota 2009-10-05
  • 打赏
  • 举报
回复
难道你下一个就要扩到64了?

那就用递归做呢

现在这16个是4个Z形,整体又是一个Z

到64,就分成每16个的结构与之相同,在16*16中构成Z形,对不?

事实上不难,只是要花时间思考..
fogota 2009-10-05
  • 打赏
  • 举报
回复
规律非常明显了
从1到16是
就是
(0,0)(0,1)(1,0)(1,1) (0,2)(0,3)(1,2)(1,3)

下一个循环是
(2,0)(2,1)(3,0)(3,1) (2,2)(2,3)(3,2)(3,3)

如果就是这样,固定4列的扩写也不难
hr168 2009-09-11
  • 打赏
  • 举报
回复
对于这种理想上是想转换成2维的,但是基本上都是死的,如果想要不写死,最好的方法就是
使用P[m * (y-1) + (x-1)]表达法, 其中m为数组中每行的数量,例如你提到的
1,2,5,6
3,4,7,8
9,10,13,14,
11,12,15,16,
其中 m = 4 表示一行最大的数量为4, y是你想访问的行,x为访问的列
如果你想取15 其实他的位置是第4行,3列,你可以这么写 ,由于数组都是从0开始的,所以
P[4*(4-1) + (3-1)] = p[14],如果以后维数有变动,那就直接改变m的值即可

hr168 2009-09-11
  • 打赏
  • 举报
回复
对于这种理想上是想转换成2维的,但是基本上都是死的,如果想要不写死,最好的方法就是
使用P[m * (y-1) + (x-1)]表达法, 其中m为数组中每行的数量,例如你提到的
1,2,5,6
3,4,7,8
9,10,13,14,
11,12,15,16,
其中 m = 4 表示一行最大的数量为4, y是你想访问的行,x为访问的列
如果你想取15 其实他的位置是第4行,3列,你可以这么写 ,由于数组都是从0开始的,所以
P[4*(4-1) + (3-1)] = p[14],如果以后维数有变动,那就直接改变m的值即可

liangpei2008 2009-09-10
  • 打赏
  • 举报
回复
1.定义一个二维数组的数据类型
Type
TArray2=array[0..3] of array[0..3] of integer
2.对一维数组进行类型强制转换
var
test1:TArray2
begin
test1:=TArray2(一维数组名)
end;
kaixin921004 2009-09-10
  • 打赏
  • 举报
回复
什么叫重新组织啊,自己手写用代码实现不了??
bdmh 2009-09-10
  • 打赏
  • 举报
回复
重新组织,没有现成东西可用
kaixin921004 2009-09-10
  • 打赏
  • 举报
回复
有这么简单就好了,我的题目你没看清楚

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧