Was du wie verschachtelst bleibt dir überlassen. Du kannst Liste genau so gut verschachteln wie Arrays. Anstatt mehrerer Dimensionen kannst du aber auch mit einer Dimension arbeiten. Man kann das einfach am Array zeigen. Bei einem Array liegen die Elemente ja nacheinander im Speicher. Hast du also ein Int Array mit den Werten 1, 2, 3, 4, 5 dann folgt die 2 im Speicher direkt auf die 1 und so weiter. Jetzt stell dir vor du hast ein zweidimensionales Array. Das Array besteht aus 2 Arrays, wobei das erste die Werte 1, 2, 3, 4 und das zweite die Werte 5, 6, 7, 8 hat. Im speicher steht dann im Prinzip 1, 2, 3, 4, 5, 6, 7, 8. Du könntest also genau so gut ein Array mit nur einer Dimension nehmen. Wie man zwischen einem Index und doppelter Indizierung umrechnet überlasse ich mal dir. Zur Not mal dir das ganze mal auf und versuche die Umrechnung so zu erschließen. Ein Problem welches bei Mehrdimensionalen Arrays auftreten kann ist dass du die Größe der unterschiedlichen Arrays unterschiedlich festlegen kannst:
|
Quellcode
|
1
2
3
4
5
6
|
{
{1, 2, 3, 4},
{5, 6, 7, 8, 9},
{10, 11, 12, 13},
{14, 15, 16, 17}
}
|
Hier mal als Beispiel ein zweidimensionales Array. Dabei haben die Arrays darin die Länge 4, wobei das 2te Array eine Länge von 5 hat. Sowas kann aus versehen passieren und für einige Probleme sorgen.