关于数组存储方式
数组存储方式有按行顺序存储和按列顺序存储两种,Fortran、matlab是按列优先的,而C/C++、Pascal等是按行优先的,哪一种更好呢? 啊!~~~存储结构??!!~~ ?????????? 我想是按列优先的好些 就象男的和女的一样,哪种好呢? 我想是按列优先的好些whuteric 发表于 2010-10-5 16:22 http://www.madio.net/static/image/common/back.gif
为什么呢?
就象男的和女的一样,哪种好呢?
master_math 发表于 2010-10-5 18:27 http://www.madio.net/static/image/common/back.gif
您的意思是按列优先和按行优先是一样的,只是习惯而已?
以下是一个区别:
例如一个矩阵,如果按列存储,则计算列向量的和就比较方便;如果按行存储,计算行向量的和则比较方便。
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)的效率似乎不一样吧?
大家有什么好看法,赶快说说
页:
[1]