Die Datenstruktur Feld

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Begriff

Ein Datenfeld (kurz: Feld oder Array) ist eine komplexe Datenstruktur, bei der mehrere Daten eines Datentyps in einer definierten Reihenfolge an einen Variablennamen gebunden werden.

Mathematik$a_0, a_1, ... , a_n$
JavaScript$a[0], a[1], ... , a[n]$

Jedem Feldelement kann über seinen Feldindex ein Wert zugewiesen werden, der natürlich auch geändert oder ausgegeben werden kann.

Deklaration eines eindimensionalen Feldes

Methoden

An die Datenstruktur Feld sind sehr nützliche Methoden gebunden. Teste sie in der mit den nachfolgenden Definitionen:

Felder mit Zufallszahlen

Wir haben in der Wiederholung von Datentypen und Programmstrukturen eine Zufallsfunktion für natürliche Zahlen kennen gelernt, die wir um eine linke Intervallgrenze erweitern wollen:

Damit können wir nun Felder mit ganzen Zufallszahlen generieren:

Felder mit Zufallszahlen können i.A. sehr umfangreich werden. Wir wollen deshalb eine geeignete Ausgabe-Prozedur entwickeln.
Prozeduren sind in JavaScript spezielle Funktionen, die keine Werte zurückgeben.

Sequenzielle Suche

Wir wollen umfangreiche numerische Datenfelder näher untersuchen, z.B. ausgewählte Feldelemente suchen, zählen oder ersetzen. Dazu müssen alle Feldelemente nacheinander durchmustert werden.
Prinzipiell stehen uns zwei syntaktische Programmstrukturen zur Verfügung:

for (var i = 0; i < feld.length; i++) {
 //-- Anweisungsteil --
}
for (var i in feld) {
 //-- Anweisungsteil --
}

In der sogenannten for-in-Schleife werden allerdings nur Feldelemente berücksichtigt, die auch mit einem Wert belegt sind.

Ein Suchverfahren, in dem alle Feldelemente nacheinander durchmustert werden, nennt man lineare oder sequenzielle Suche.

Aufgaben

  1. Effiziente Suchfunktion

    Begründe, warum die nachfolgende Funktion zur Elementsuche noch effizienter ist.
    Zeichne dazu das entsprechende Struktogamm.

  2. Positionssuche eines Elements

    In einem numerischen Feld ist die Position eines zu suchenden Elements zu bestimmen, an der es erstmalig auftritt.
    Ist das Element im Feld nicht vorhanden, soll $-1$ zurückgegeben werden.

     

    Quelltext überprüfen:

  3. Anzahl eines Elements

    Mit der nachfolgenden Funktion soll ermittelt werden, wie oft ein bestimmtes Element in einem Feld vorkommt.

     

    Quelltext überprüfen:

  4. Größtes Feldelement

    Aus einem numerische Datenfeld soll nun das größte Element ermittelt werden.

     

    Quelltext überprüfen:

  5. Gerade und ungerade Feldelemente

    In einem numerischen Datenfeld sollen gerade und ungerade Feldelemente gezählt werden.

    Hinweise:

    • Zur Erinnerung: Die Anweisung
      rest = zahl % n;

      gibt den Rest der ganzzahligen Division der Variablen zahl und n an.

    • Beachte, dass hier beide Werte in einem zweielementigen Feld zurückgegeben werden.

     

    Quelltext überprüfen:

Persönliche Werkzeuge