民國109年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第69題

程式語言在實作多維陣列(Multidimensional Array)與儲存記憶體間之對應時,可以使用不同方式, 若有一個3×3 的二維陣列A[1..3,1..…

題目

程式語言在實作多維陣列(Multidimensional Array)與儲存記憶體間之對應時,可以使用不同方式, 若有一個3×3 的二維陣列A[1..3,1..3],其在記憶體中之值排列順序為:3,1,9,6,4,2,5,7,8,下列那些 敘述為正確?

  1. (1) 當採用Column Major 順序時,A[2,1]=1
  2. (2) 當採用Row Major 順序時,A[3,1]=5
  3. (3) 對於一個一維陣列,採用Row Major 或Column Major 方式儲存資料,結果並不相同
  4. (4) Row Major 方式不可用於三維以上陣列

官方答案

(1) 當採用Column Major 順序時,A[2,1]=1、(2) 當採用Row Major 順序時,A[3,1]=5

解析

以列優先(Row Major)存放時,3×3陣列依A[1,1]、A[1,2]…A[3,3]的順序填入,可得A[3,1]=5;以行優先(Column Major)存放時,依A[1,1]、A[2,1]、A[3,1]…的順序填入,則A[2,1]=1,所以第1、2項正確。一維陣列只有一個索引,列優先與行優先的排列結果相同,第3項錯誤;三維以上仍可延伸列優先或行優先規則,第4項錯誤。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料