CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

多维数组的概念?

楼主hzzkf()2000-08-17 21:57:00 在 专题开发/技术/项目 / 数据结构与算法 提问

我在数据结构的教程中看见一个关于数组的概念,说可将二维数组的元素看作是一个个的一维数据。一个A23的数组是一个二行三列的概念。我想问一下各位:如果一个三维数组A234,它表示的是一个怎样的概念呢?在c语言中,二维数组的数据是按从左至右,从上至下的顺序存储的,那多维数组呢? 问题点数:40、回复次数:4Top

1 楼hyzx2000(hy)回复于 2000-08-17 22:29:00 得分 40

type   A[X][Y][Z];//type为数据类型  
  A[i][j][k]的位置是:第i*(Z*Y)+j*Z+k个(从0开始)。  
  可以这么考虑:  
  [Z]是由Z个元素顺次组成,[Y][Z]是由Y个[Z]顺次组成的,[X][Y][Z]是由X个[Y][Z]顺次组成的,以此类推。  
  哎,现在有点头晕了!Top

2 楼softsprite(软件精灵)回复于 2000-08-17 22:34:00 得分 0

三维数组可以理解成n个二维数据顺序排列。三维数组A234的排列是按第一个A34二维数组接下来第二个A34二维数组。下面是一个例子可以看得很清楚:  
   
  short   a[3][3][3];  
  int   i,j,k;  
  for   (   i   =   0;   i   <   3   ;   i++   )  
  {  
      for   (   j   =   0   ;   j   <   3   ;   j++   )  
      {  
          for   (   k   =   0   ;   k   <   3   ;   k++   )  
          {  
              a[i][j][k]   =   (short)(i*256   +   j*16   +   k);  
          }  
      }  
  }  
  CFile   f;  
  f.Open("c:\\a.log",   CFile::modeCreate   |   CFile::modeWrite   );  
  f.Write((void*)a,   512);  
  f.Close();  
   
  执行完后生成c:\a.log文件,用debug看一下:  
  debug   c:\a.log  
  0100:   00   00   01   00   02   00   10   00   -   11   00   12   00   20   00   21   00  
  0110:   22   00   00   01   01   01   02   01   -   10   01   11   01   12   01   20   01  
  0120:   21   01   22   01   00   02   01   02   -   02   02   10   02   11   02   12   02  
  0130:   20   02   21   02   22   02   Top

3 楼Larky(睡仙)回复于 2000-08-17 22:37:00 得分 0

hyzx2000说的很对就是这么简单,  
  二维数租就是一个元素是一维数租的一维数租,  
  三维数租就是一个元素是二维数租的一维数组,或者说是一个元素是一维数租的二维数租!  
   
  天啊简直是绕口令!  
   
  按照你对A23的定义,A234应该叫做两行三列4层!Top

4 楼lty(傻猫)回复于 2000-08-17 23:33:00 得分 0

请类比一下空间,一维是长,二维是宽,三维是高,四维是时间,五维呢?。。。  
  一维:中国三十多省区  
  二维:每省有地市  
  三维:地市有区县  
  四维:区县有乡镇  
  五维:乡镇有村庄  
  六维:村庄有家庭。。。。Top

相关问题

  • 多维数组??
  • 大型多维数组(float)
  • 多维数组问题
  • 多维数组指针
  • 初始化多维数组
  • 多维数组真可怕!!
  • 一维数组?
  • 二维数组
  • 如何判断一个数组是多维数组,而非一维数组?
  • perl如何使用多维数组?

关键词

  • 数据
  • 数组
  • 维数
  • 二维
  • 概念
  • 组成

得分解答快速导航

  • 帖主:hzzkf
  • hyzx2000

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo