lineare Simulation von multidimensionalem Array

8

Ich kann ein 2D-Array in einem linearen Array mit [x + y * width] als linearem Index simulieren.

Ich kann dies auf 3D-Arrays erweitern: [x + y * width + z * width * height] .

Gibt es eine allgemeine Formel für ein N-dimensionales Array?

Ich suche eine sprachunabhängige Antwort.

    
hasen 24.03.2009, 19:40
quelle

2 Antworten

7

Sicher. Wenn Sie nur Ihr Beispiel erweitern, erhalten Sie x + y*width + z*width*height + w*width*height*depth + ...

Mit anderen Worten dim1 + dim2*size1 + dim3*size1*size2 + dim4*size1*size2*size3 + ...

    
Michael Myers 24.03.2009, 19:47
quelle
1

Äh, wenn du etwas Code willst ... :-) C ist sprachunabhängig genug, oder?

Annahme: Ort [Dimensionen]

Angenommen, es existiert eine Tabelle maxBound [Dimensionen], die die maximalen Grenzen jeder Dimension der Tabelle enthält.

%Vor%

Ihr Index endet im Indexfeld.

%Vor%

Ich denke, das macht Sinn, aber das kommt nur aus meinem Kopf.

    
Lomilar 24.03.2009 19:55
quelle