Bilgisayar bilimlerinde, rowmajor order veya column major order ile,
çok boyutlu (multidimensional) dizilerin (array) dogrusal hafızada
(linear memory) tutulma şekli kastedilmektedir.
Arraylerin
hafızada tutulma biçimleri özellikle diller arasında veri geçişi
yaparken kritik rol oynar. Ayrıca diziye erişim şekli doğru biliniyorsa
ve bu bilgi doğru kullanılıyorsa performansı oldukça etkileyen bir
özelliktir.
Row-major order
Satırların arka arkaya saklandığı linear memory modelinin ismidir. C dilinin kullandığı model de row-major modeldir.
Örneğin:
1 2 3
4 5 6
Masfuf’unun (matrixinin) C dilinde tanımı:
int A[2][3] = { {1, 2, 3}, {4, 5, 6} };
şeklinde yapılır ve bu dizinin hafızadaki tutlma biçimi aslında:
1 2 3 4 5 6
Şeklindedir. Yani A[satır][sütün] şeklinde verilen bir dizini için
offset = satır*sütünsayısı + sütün
Şeklinde verilebilir.
Kolon bazlı sıralamada ise aynı matrix:
1 2 3
4 5 6
aşağıdaki şekilde hafızada tutulacaktır.
1 4 2 5 3 6