2013-07-07 32 views
0

我正在學習多維數組,我理解多維數組是如何工作的以及除了一件事情之外如何使用它們,在什麼情況下我們需要使用它們?爲什麼?爲什麼我們使用多維數組?

+0

這可能更適合[程序員.se.com](http://programmers.stackexchange.com),因爲它比風格更關注實際代碼。 – tjameson

回答

4

如果您想將數組放入數組中,基本上會使用多維數組。

假設你有10名學生,每人寫3個測試。您可以創建一個數組,如:arr_name [10] [3]

因此,調用arr_name [0] [0]會爲您提供第1課的學生1的結果。 調用arr_name [5] [2]學生6對試驗結果3

可以用30位陣列做到這一點,但在多維是:

1)更容易理解

2)容易調試

+0

謝謝堆:) – thechrishaddad

0

當您面臨訪問由多維向量標識的數據元素時,此類解決方案非常直觀。所以如果「哪個元素」由兩個以上的「維度」定義。

1

這裏有幾個熟悉情況下的數組示例。

  1. 你可能會想象一個二維數組就像一個網格。所以當你處理圖形時,它自然很有用。你可能會說

    pixel = screen[20][5] // get the pixel at the 20th row, 5th column 
    

    這也可以用一個3維數組來表示3D空間做得到從屏幕上的一個像素。

  2. 數組可以像電子表格一樣工作。這裏的行是客戶,列是名字,電子郵件和出生日期。

    name = customers[0][0] 
    email = customers[0][1] 
    dateofbirth = customers[0][2] 
    

真的有底層這一個更基本的圖案。事情有東西......等等。從某種意義上說,你很想知道是否需要多維數組,因爲還有其他方法來表示同一模式。這只是爲了方便。你可以選擇

  1. 有一個單維數組,並做一些數學運算,使其具有多維性。如果您從上至下逐個索引像素,則最終會得到一百萬左右的元素。劃分屏幕的寬度以獲得該行。其餘部分是專欄。

  2. 使用對象。而不是在示例2中使用多維數組,您可以有一個Customer對象的單維數組。每個Customer對象都有屬性名稱,電子郵件和dob。

所以很少有一種方法可以做某些事情。只需選擇最清晰的方式。您可以通過數字訪問您正在通過名稱訪問的對象。

相關問題