forcal 发表于 2010-10-5 09:15

关于数组存储方式

数组存储方式有按行顺序存储和按列顺序存储两种,Fortran、matlab是按列优先的,而C/C++、Pascal等是按行优先的,哪一种更好呢?

qbist 发表于 2010-10-5 09:52

啊!~~~存储结构??!!~~

zhwqqiangge 发表于 2010-10-5 10:16

??????????

whuteric 发表于 2010-10-5 16:22

我想是按列优先的好些

master_math 发表于 2010-10-5 18:27

就象男的和女的一样,哪种好呢?

forcal 发表于 2010-10-5 19:45

我想是按列优先的好些
whuteric 发表于 2010-10-5 16:22 http://www.madio.net/static/image/common/back.gif
为什么呢?

forcal 发表于 2010-10-5 19:47

就象男的和女的一样,哪种好呢?
master_math 发表于 2010-10-5 18:27 http://www.madio.net/static/image/common/back.gif
您的意思是按列优先和按行优先是一样的,只是习惯而已?

forcal 发表于 2010-10-7 10:15

以下是一个区别:

例如一个矩阵,如果按列存储,则计算列向量的和就比较方便;如果按行存储,计算行向量的和则比较方便。

Forcal按行优先存储,代码:
!using["math","sys"];
mvar:
oo{p=rand},
t0=clock(),
oo{Sum},
printff{"\r\n按列求和时间: {1,r}",/1000},
t0=clock(),
oo{Sum},
printff{"\r\n按行求和时间: {1,r}",/1000}
结果:
按列求和时间: 0.375
按行求和时间: 4.7e-002

matlab中sum(A,1)和sum(A,2)的效率似乎不一样吧?

okdjl 发表于 2011-12-17 11:53

大家有什么好看法,赶快说说
页: [1]
查看完整版本: 关于数组存储方式