Datenstrukturen: Das Array

in #deutsch2 years ago

Mit dieser Serie möchte ich Konzepte einiger Datenstrukturen näher beschreiben. Mit einer Datenstruktur kann man eine Menge von Objekten in einer bestimmten Art und Weise speichern und verwalten.
Allerdings hat jede Datenstruktur seine Vor- und Nachteile.
Weiterhin ist es nicht immer einfach, eine geeignete Datenstruktur für eine bestimmte Problemlösung zu finden. Es kommt auch darauf an, ob man mehr Wert auf den Speicherverbrauch oder der Performance legt, also wie schnell eine Anwendung funktioniert.
In diesem Beitrag geht es um das Array.

Das Array

Ein Array (deutsch: Feld), ist oftmals die erste Datenstruktur die man kennenlernt.
Bei einem Array handelt es sich um eine Aneinanderreihung von Elementen eines festen Datentyps. Bevor auf ein Array zugegriffen werden kann, muss man im Vorfeld festlegen, wie groß das Array sein soll. Das heißt, man kann das Array nicht im Nachhinein vergrößern oder verkleinern. Man muss ein neues größeres Array anlegen und die Objekte des alten Arrays hinein kopieren.
Um auf Elemente eines Arrays zuzugreifen, muss man seinen jeweiligen Index adressieren. Man kann den Inhalt einer Zelle auslesen aber auch manipulieren.

Vorsicht ist geboten, dass man keine ungültigen Indizes adressiert, oder das man bei einem Schleifendurchlauf (for, while, do) die Grenzen überläuft.
In den meisten Programmiersprachen ist die Syntax eines Arrays eine spitze Klammer [].

Beispiel

Mit integer feld[5] wird ein Array der Größe 5 angelegt, und die Elemente des Arrays sind vom Typ integer (ganze Zahl).
Mit feld[0] = 35 wird der erste (!) Index des Arrays mit dem Wert 35 belegt. Bei dem Zugriff auf feld[5] stürzt die Anwendung ab, da der sechste Index nicht definiert ist. Meistens fängt der Index mit 0 an und nicht mit 1. (Zumindest ist mir keine Programmiersprache bekannt, wo der Index mit 1 beginnt)

Anwendungsbeispiel

Die Datenstruktur Array wird verwendet, wenn man im Vorfeld weiss, wieviele Elemente man benötigt.

  • Man kann bspw. ein Array nutzen, um einen Vektor der Dimension n zu erstellen, da sich die Dimension nicht ändert. Damit kann man zwei Arrays derselben Größe addieren und das Ergebnis in einem dritten Array speichern.
  • Ein String (Zeichenkette) ist auch ein fixes Array voller char (Buchstaben). Wird ein String nachträglich manipuliert, so wird ein neuer String erstellt der entsprechend größer oder kleiner als der alte String ist.

Quelle
http://www.compsci.hunter.cuny.edu/~sweiss/resources/arrays.pdf

Coin Marketplace

STEEM 0.29
TRX 0.06
JST 0.038
BTC 34940.79
ETH 2395.08
USDT 1.00
SBD 3.84