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.
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 + ...
Ä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.
Tags und Links language-agnostic arrays linear-algebra multidimensional-array