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: