+1 Punkt
46 Aufrufe


1. EinfĂŒhrung

Bei einem Array handelt es sich um eine Datenstruktur, die mit einem BĂŒcherregal vergleichbar ist. Wörtlich ĂŒbersetzt bedeutet dieser Begriff einfach „Anordnung“oder „Aufstellung“. In einem Array werden immer nur Daten vom selben Typ gespeichert. Du wĂŒrdest schließlich auch nicht deine WĂ€sche in einem BĂŒcherregal und deine BĂŒcher im Kleiderschrank aufbewahren, oder?

Bevor du deine BĂŒcher verstauen kannst, benötigst du zuerst ein BĂŒcherregal, das eine bestimmte AufnahmekapazitĂ€t (bzw. LĂ€nge) hat. So verhĂ€lt es sich auch mit dem Array. Du musst anfangs (je nach Anzahl der zu speichernden Elemente) definieren, wie groß dein Array sein soll. Erst dann kannst du mit dem EinrĂ€umen beginnen. Diese Konstruktion wirkt etwas sperrig, denn du kannst auf neue Situationen (wenn dir z. B. jemand ein Buch schenkt) nicht ohne Mehraufwand reagieren. Was ist, wenn dein BĂŒcherregal voll ist? Was ist, wenn du zu wenige BĂŒcher hast, um dein Regal auszufĂŒllen? In der Fachsprache nennt man diese Eigenschaft „statisch“. Arrays sind also keine dynamischen, sondern statischen Datenstrukturen.

Die einzelnen Elemente in einem Array können durch einen Index angesprochen werden. Dabei solltest du beachten, dass das erste Element in einem Array immer mit 0 adressiert wird. Es ist schade, dass wir nicht bereits im Kindesalter lernen beim ZĂ€hlen mit der 0 anzufangen. So musst du jetzt leider immer umdenken. Der Index eines Arrays mit 5 Elementen lĂ€uft von 0 bis 4. FĂŒr ein Array mit 10 Elementen lĂ€uft der Index von 0 bis 9. Wenn du ein Array mit allgemein n Elementen betrachtest, lĂ€uft der Index von 0 bis n-1, d. h. der letzte Index ist immer um 1 kleiner als die Anzahl der Elemente im Array.

Neben den einfachen (eindimensionalen) Arrays, um die es in diesem Video geht, gibt es noch mehrdimensionale Arrays, die z. B. zur Darstellung von Spielfeldern genutzt werden können, und assoziative Arrays, deren Elemente bspw. via Namen (als String) anspricht.

2. Wann solltest du Arrays nutzen?

Wann solltest du Arrays nutzen? Vor allem dann, wenn die Anzahl der Elemente im Vorfeld bekannt ist und du sie auf einfache Art und Weise per Index ansprechen willst. Das ist bei einem Schachbrett der Fall. Der Zugriff auf einzelne Elemente im Array ist sehr schnell möglich, nĂ€mlich in O(1) (d. h. konstanter Zeit). Du musst lediglich den gewĂŒnschten Index angeben und erhĂ€ltst das in dem jeweiligen Feld gespeicherte Element.

3. Welche Nachteile haben Arrays?

Der wohl grĂ¶ĂŸte Nachteil eines Arrays ist sein statischer Charakter:

- Wenn du zu wenig Platz fĂŒr deine Elemente vorsiehst, kannst du nicht einfach ein weiteres Feld „hinten anhĂ€ngen“. Wie bei einem BĂŒcherregal musst du zuerst einen neuen, grĂ¶ĂŸeren Container definieren. Anschließend rĂ€umst du alle Elemente aus dem Array aus und in das neue ein.

- Reservierst du hingegen zu viel Platz, ist das auch nicht gut. Es kann nĂ€mlich passieren, dass du den vielen Platz ĂŒberhaupt nicht brauchst, du aber bereits den Speicher dafĂŒr allokiert hast. Das wĂ€re in etwa so, wie wenn du dir ein riesiges BĂŒcherregal, das viel zu groß fĂŒr deine 20 BĂŒcher ist, in deine Wohnung stellst und somit keinen Platz fĂŒr einen grĂ¶ĂŸeren Kleiderschrank hast, da der alte völlig ĂŒberquillt.

Oft weißt du im Vorfeld nicht, wie viele Elemente zur Laufzeit deines Programms benötigt werden. Besonders bei Programmen, die mit vielen Daten hantieren, wĂ€re es sinnvoll, auf eine dynamische Speicherstruktur wie (z. B. Listen) auszuweichen.


Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.
geschlossen: Stack-Artikel
von 9,4 k

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...