Kategorie

A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Z 0      

array

aa ab ac ad ae af ag ah ai aj ak al am
an ao ap aq ar as at au av aw ax ay az

Array

Ein Array (engl. für Anordnung, Aufstellung, Reihe, Feld, Bereich) ist der Sammelbegriff für eine Anordnung, Aufstellung, Reihe von gleichen Elementen in festgelegter Art und Weise.

Die häufigste konkrete Verwendung findet der Begriff Array als Beschreibung für eine Datenstruktur in der Informatik. Dabei wird zwischen dem (Standard-) Array und dem Assoziativen Array unterschieden. Spezielle Richtfunkantennen benutzen Arrays von Antennen und RAIDs verwenden Arrays von Festplatten zur sicheren Speicherung von Daten.

Table of contents
1 (Standard-) Array
2 Assoziatives Array
3 Adressierung eines Arrays

(Standard-) Array

Mit Hilfe eines Arrays können Daten eines einheitlichen Datentyps geordnet so im Speicher eines Computers abgelegt werden, dass ein Zugriff auf die Daten über einen Index möglich wird. Das (Standard-) Array verwendet im Gegensatz zum assoziativen Array einen ganzzahligen Index zur Adressierung.

Beispiele

Vektor (Eindimensional)
Vektor = (10, -11, 12)
So liefert Vektor[2] den Wert -11 (falls 1 als Startindex definiert wird; in der Praxis meistens 0).

Matrix oder Tabelle (Zweidimensional) Schachfeld is array(8,8) of String Schachfeld = ("Turm_W","Springer_W","Läufer_W",...,"TurmW", "Bauer_W,"Bauer_W" ,"Bauer_W" ,...,"Bauer_W", "Leer" ,"Leer", ,"Leer" ,...,"Leer", "Leer" ,"Leer", ,"Leer" ,...,"Leer", "Leer" ,"Leer", ,"Leer" ,...,"Leer", "Leer" ,"Leer", ,"Leer" ,...,"Leer", "Bauer_S,"Bauer_S" ,"Bauer_S" ,...,"Bauer_S", "Turm_S","Springer_S","Läufer_S",...,"Turm_S") Die Anweisungen Schachfeld(3,3) := Schachfeld (1,2) und Schachfeld(1,2) := "Leer" liefern den Eröffnungszug Weißer Springer auf C3.

In den meisten höheren Programmiersprachen ist das (Standard-) Array Teil des Sprachumfangs. Die objektorientierten Programmiersprachen können diese Arrays als Objekte nachbilden.

Assoziatives Array

Das assoziative Array verwendet keinen numerischen Index, sondern einen sogenannten Schlüssel zur Indizierung des angesprochenen Elements. Idealerweise werden die Schlüssel so gewählt, dass eine für die Programmierer nachvollziehbare Verbindung zwischen Schlüssel und Datenwert besteht.

Beispiel

Eindimensionales Assoziatives Array 
Person = ( Vorname     => Hans,
           Name        => Mustermann,
           Geburtstag  => 01.01.01,
           Wohnort     => Musterstadt),
Person("Name") liefert nun den Wert "Mustermann"

Programmiersprachen, die assoziative Arrays unterstützen, sind z.B. Perl, PHP, Ruby, Smalltalk, C++ (als Klasse der Standardbibliothek), Java, JavaScript und Visual Basic. Statt von assoziativen Array spricht man auch von einem Dictionary (Smalltalk, Python), einer Map (C++, Java), einem Hash (Perl) oder einer Collection.

Adressierung eines Arrays

In einem n-dimensionalen Array wird ein Element durch die Formel adressiert. Diese Adressrechnung kann mit Hilfe eines Vektors, der die konstanten Produkte () zwischenspeichert beschleunigt werden.

Berechnung des Dope Vektors

Diese Datenstruktur heißt Dope Vektor und wird bei einem wie oben beschriebenen n-dimensionalen Array mit spaltenweiser Adressierung (von links nach rechts) berechnet durch , . Bei zeilenweiser Adressierung (rechts nach links): , . Der Speicheroffset eines Elements berechnet sich mit Hilfe des Dope Vektors nun wie folgt: .

Impressum

Datenschutzerklärung