Array in Datenstrukturen (Operationen)

⚡ Intelligente Zusammenfassung

Ein Array in der Datenstruktur speichert mehrere Elemente desselben Datentyps an zusammenhängenden Speicheradressen, die jeweils über einen Index erreichbar sind. Dieses Tutorial erklärt das Konzept, warum Arrays wichtig sind und wie man sie erstellt und bearbeitet. Python, C++ und Java mit Beispielen.

  • 📦 Kerndefinition: Ein Array speichert mehrere Elemente gleichen Typs in benachbarten Speicherbereichen, auf die über den Index zugegriffen wird.
  • ⚡ Schnellzugriff: Jedes Element wird in konstanter Zeit über seinen Index abgerufen.
  • ️ Fünf Operanationen: Einfügen, Löschen, Suchen, Aktualisieren und Durchlaufen von Arrays erfolgen mit dem Array-Toolkit.
  • 🌐 Sprachübergreifend: Python verwendet das Array-Modul; C++ und Java Arrays nativ mit manueller Logik deklarieren.
  • 🤖 KI-Relevanz: Arrays bilden die Grundlage für Tensoren und Matrizen, die den Berechnungen des maschinellen Lernens zugrunde liegen.

Array in Datenstrukturen (Operationen)

Was ist ein Array in der Datenstruktur?

An Array Ein Array ist eine Datenstruktur zum Speichern mehrerer Datenelemente desselben Datentyps. Die Elemente eines Arrays werden in benachbarten Speicherzellen abgelegt, die als Arrays bezeichnet werden. Elemente des Arrays. Die Gesamtzahl der Elemente in einem Array ist seine Länge.

Auf jedes Element wird über seine Position zugegriffen, und diese Referenz wird als bezeichnet. Index or Index.

Konzept des Arrays

Konzeptdiagramm von Arrays

Konzeptdiagramm von Arrays

Das obige Diagramm veranschaulicht Folgendes:

  1. Ein Array ist ein Container mit Elementen.
  2. Elemente haben einen bestimmten Wert und Datentyp, zum Beispiel „ABC“, WAHR oder FALSCH.
  3. Jedes Element hat einen eigenen Index, über den darauf zugegriffen wird.

Hinweis:

  • Elemente werden an zusammenhängenden Speicherorten gespeichert.
  • Ein Index ist immer kleiner als die Gesamtzahl der Array-Elemente.
  • Jede als Array deklarierte Variable kann mehrere Werte speichern.
  • Fast alle Programmiersprachen kennen das gleiche Konzept von Arrays, unterscheiden sich aber in der Art und Weise, wie sie diese deklarieren und initialisieren.
  • Drei Teile bleiben bei allen Initialisierungen gleich: der Array-Name, die Elemente und der Datentyp der Elemente.

Das folgende Diagramm zeigt die Syntax für die Deklaration eines Array in Python und C++Dies zeigt, dass das Konzept dasselbe bleibt, auch wenn die Syntax zwischen den Sprachen leicht variiert.

Verstehen Sie die Syntax von Arrays

Verstehen Sie die Syntax von Arrays

  • Array-Name: Erforderlich für den einfachen Zugriff auf die Sammlung von Elementen.
  • Datentyp: Erforderlich für Typüberprüfung und Datenintegrität.
  • Elemente: die im Array vorhandenen Datenwerte.

Warum brauchen wir Arrays?

  • Arrays eignen sich ideal zum Speichern mehrerer Werte in einer einzigen Variablen.
  • Sie verarbeiten viele Werte einfach und schnell.
  • Das Sortieren und Suchen von Werten ist mit Arrays einfacher.

Erstellen eines Arrays in Python

In PythonArrays unterscheiden sich von Listen: Eine Liste kann Elemente unterschiedlicher Datentypen enthalten, während ein Array nur Elemente desselben Datentyps enthalten kann. Python verfügt über ein separates Modul zur Verarbeitung von Arrays, genannt array, das Sie vor der Verwendung importieren müssen.

Hinweis: Das Array muss reelle Zahlen wie ganze Zahlen und Gleitkommazahlen enthalten; Zeichenketten sind nicht zulässig.

Der folgende Code erstellt ein Integer-Array in Python zum Speichern von Kontoständen:

import array
balance = array.array('i', [300, 200, 100])
print(balance)

Möglichkeiten zum Deklarieren eines Arrays in Python

Sie können ein Array deklarieren in Python bei der Initialisierung mit folgender Syntax:

arrayName = array.array(typecode, [array_items])

Syntax des Arrays in Python

Syntax des Arrays in Python

  1. Identifikator: Geben Sie einen Namen an, wie Sie es üblicherweise für Variablen tun.
  2. Modul: Python verfügt über ein spezielles Modul namens „array“, das Sie zuerst importieren müssen.
  3. Anleitung: Das Array-Modul verfügt über eine Methode zur Initialisierung des Arrays, die zwei Argumente entgegennimmt – Typcode und Elemente.
  4. Typschlüssel: Geben Sie den Datentyp mithilfe der verfügbaren Typcodes an (siehe Tabelle unten).
  5. Elemente: Geben Sie die Array-Elemente in eckigen Klammern an, zum Beispiel [130, 450, 103].

Die folgende Tabelle listet die für unterstützte Datentypen verfügbaren Typcodes auf.

Typenschlüssel C-Typ Python Typ Mindestgröße (Bytes)
'b' signiertes Zeichen int 1
'B' vorzeichenloser char int 1
'u' Py_UNICODE Unicode-Zeichen 2
'h' kurz unterschrieben int 2
'H' unsigned short int 2
'ich' signiert int int 2
'ICH' Unsigned int int 2
'l' lang unterschrieben int 4
'L' lange nicht signiert int 4
'f' schweben schweben 4
'd' doppelt schweben 8

Wie greife ich auf einen bestimmten Array-Wert zu?

Sie können auf jedes Array-Element über seinen Index zugreifen.

Syntax:

arrayName[indexNum]

Ejemplo:

balance[1]

Greifen Sie auf ein Array-Element zu

Greifen Sie auf ein Array-Element zu

Hier haben wir über den Index 1 auf den zweiten Wert des Arrays zugegriffen. Die Ausgabe ist 200, was dem zweiten Wert des Balance-Arrays entspricht.

import array
balance = array.array('i', [300, 200, 100])
print(balance[1])

Ausgang:

200

Feld Operain Python

Das Python Das Array-Modul stellt separate Funktionen für Array-Operationen bereit. Es handelt sich dabei um destruktive Methoden, d. h. die Änderung wird in der Array-Variablen gespeichert.

Insert

Diese Operation fügt ein oder mehrere Elemente am Anfang, am Ende oder an einer beliebigen Position in ein Array ein. Sie erwartet zwei Argumente: Index und Wert.

arrayName.insert(index, value)

Ejemplo: Um einen neuen Wert direkt nach Index 1 (den Wert 200) einzufügen, verwenden Sie Index 2 in der Einfügemethode.

import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)

Ausgang:

array('i', [300, 200, 150, 100])

Löschen

Diese Operation löscht ein Element aus einem Array anhand seines Wertes und akzeptiert ein einzelnes Argument. Nach der Ausführung werden die Elemente neu angeordnet und die Indizes neu zugewiesen.

arrayName.remove(value)

Ejemplo:

import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)

Ausgang:

array('i', [300, 200, 100])

Suche

Diese Operation sucht nach einem Element anhand seines Wertes und gibt dessen Index zurück. Es handelt sich um eine nicht-destruktive Methode, die die Werte des Arrays nicht verändert.

arrayName.index(value)

Ejemplo:

import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))

Ausgang:

2

Update

Beim Aktualisieren wird der vorhandene Wert an einem bestimmten Index mithilfe eines einfachen Zuweisungsoperators ersetzt.Python Arrays haben kein update() Verfahren.)

arrayName[index] = value

Ejemplo: Um 150 (an Index 2) durch 145 zu ersetzen:

import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)

Ausgang:

array('i', [300, 200, 145, 100])

Traverse

Sie können eine Python Array mithilfe einer Schleife:

import array
balance = array.array('i', [300, 200, 100])
for x in balance:
    print(x)

Ausgang:

300
200
100

Erstellen eines Arrays in C++

C++ ist flexibler als Python beim Erstellen von Arrays. Sie können erstellen C++ Arrays auf drei Arten. Der folgende Code erstellt ein Integer-Array in C++ zum Speichern von Kontoständen:

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  for (int i = 0; i < 3; i++)
    {
      cout << "value of i: " << balance[i] << endl;
    }
  return 0;
}

Möglichkeiten zum Deklarieren eines Arrays in C++

Sie können ein Array auf drei Arten deklarieren, abhängig von den Anforderungen Ihres Programms.

Deklaration nach Größe:

dataType arrayName[arraySize];   // e.g. int balance[3];

Deklaration nur mit Array-Elementen:

dataType arrayName[] = {array_items};   // e.g. int balance[] = { 300, 200, 100 };

Erklärung nach Größe und Artikeln:

dataType arrayName[arraySize] = {array_items};   // e.g. int balance[3] = { 300, 200, 100 };

Wie man auf einen bestimmten Array-Wert zugreift in C++?

Zugreifen auf ein Array-Element

Zugreifen auf ein Array-Element

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  cout << balance[1];
  return 0;
}

Ausgang:

200

Feld Operain C++

Im Gegensatz zu Pythonin C++ Sie müssen die Logik für Einfüge-, Lösch-, Such-, Aktualisierungs- und Durchlaufoperationen selbst programmieren.

Insert

Die Einfügelogik ist folgende: Die Elemente des Arrays werden durchlaufen, jeweils an einen höheren Index verschoben und anschließend wird an der entsprechenden Position ein neues Element eingefügt. Das folgende Beispiel enthält fünf Elemente und fügt die Zahl 150 direkt nach dem Wert 200 ein.

#include <iostream>
#include <stdio.h>

main() {
   int pos = 2;
   int size = 4;
   int balance[] = {300, 200, 100, 50, 0};

   printf("BEFORE INSERT:\n");
   for(int i = 0; i < 5; i++) {
      printf("%d\n", balance[i]);
   }

   /* SHIFT ITEMS TO A GREATER INDEX */
   for(int i = size; i >= pos; i--) {
       balance[i+1] = balance[i];
   }

   /* INSERT VALUE AT THE DESIRED INDEX */
   balance[pos] = 150;

   printf("AFTER INSERT:\n");
   for(int i = 0; i < 6; i++) {
      printf("%d\n", balance[i]);
   }
}

Feld Operain Java

Lasst uns ein Programm erstellen in Java das die Größe und die Werte der Array-Elemente vom Benutzer entgegennimmt.

import java.util.Scanner;

public class AddElements {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Enter the size of the array");
        int n = sc.nextInt();

        int arr[] = new int[n];

        System.out.println("Enter Elements in the array");
        for(int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        System.out.println("Elements in the array");
        for(int j = 0; j < n; j++) {
            System.out.print(arr[j] + " ");
        }
    }
}

Ändern Sie ein Element in einem Java Feld

Aktualisiere ein Element anhand seines Index.

import java.util.Scanner;

public class ModifyElement {
    public static void main(String[] args) {
        int arr[] = {1, 2, 3, 4, 5};
        int length = arr.length;
        Scanner sc = new Scanner(System.in);

        System.out.println("Array Elements Before modify");
        for(int i = 0; i < length; i++) {
            System.out.print(arr[i] + " ");
        }

        System.out.println("\nEnter the position to change");
        int pos = sc.nextInt();
        System.out.println("Enter the value");
        int val = sc.nextInt();

        arr[pos] = val;

        System.out.println("Array Elements After modify");
        for(int j = 0; j < length; j++) {
            System.out.print(arr[j] + " ");
        }
    }
}

Zugriffselemente in einem Java Feld

Gib alle Array-Elemente aus, indem du das Array durchläufst.

public class AccessElements {
    public static void main(String[] args) {
        int arr[] = {1, 2, 3, 4, 5};
        int length = arr.length;

        System.out.println("Array Elements are:-");
        for(int i = 0; i < length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

Häufig gestellte Fragen

Ein Array ist eine Sammlung von Elementen desselben Datentyps, die an zusammenhängenden Speicheradressen gespeichert sind. Auf jedes Element wird über einen Index zugegriffen, wodurch Arrays effizient zum Speichern und Abrufen mehrerer zusammengehöriger Werte geeignet sind.

A Python Eine Liste kann Elemente unterschiedlicher Datentypen enthalten, während ein Array (aus dem Array-Modul) Elemente eines einzigen Datentyps enthält. Arrays sind für große Mengen numerischer Daten speichereffizienter.

Die fünf grundlegenden Operationen sind Einfügen (Hinzufügen eines Elements), Löschen (Entfernen eines Elements), Suchen (Finden eines Elements anhand seines Wertes), Aktualisieren (Ändern eines Wertes an einem Index) und Durchlaufen (Besuchen jedes Elements).

Der Zugriff auf ein Element über den Index erfolgt in konstanter Zeit (O(1)), da die Speicheradresse direkt aus der Basisadresse und dem Index berechnet wird. Einfüge- und Löschvorgänge können aufgrund von Verschiebungen O(n) benötigen.

Zusammenhängender Speicher ermöglicht es dem Programm, die Adresse jedes Elements sofort aus der Basisadresse plus Index multipliziert mit der Elementgröße zu berechnen. Dies verleiht Arrays ihren schnellen, zeitkonstanten Direktzugriff.

Python benötigt das Array-Modul und bietet integrierte Operationsmethoden. C++ und Java Arrays können nativ deklariert werden, allerdings müssen Sie die Logik für Einfüge-, Lösch- und Suchvorgänge selbst programmieren. Java Arrays stellen auch eine Längeneigenschaft bereit.

Arrays bilden die Grundlage für Vektoren, Matrizen und Tensoren, die in der KI verwendet werden. Bibliotheken wie NumPy und TensorFlow speichern Trainingsdaten und Modellgewichte als mehrdimensionale Arrays, um schnelle numerische Berechnungen zu ermöglichen.

Ja. KI-Programmierassistenten erkennen Indexfehler (Off-by-One und Out-of-Bounds-Index), schlagen Korrekturen vor und erklären, warum ein Index die Array-Länge überschritten hat.ping Anfänger können häufige Array-Fehler schnell beheben.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: