Articles

GeeksforGeeks

Ein Array ist eine Sammlung von Elementen, die an zusammenhängenden Speicherorten gespeichert sind. Die Idee ist, mehrere Elemente desselben Typs zusammen zu speichern. Dies erleichtert die Berechnung der Position jedes Elements, indem einfach ein Offset zu einem Basiswert hinzugefügt wird, d. H. Der Speicherort des ersten Elements des Arrays (im Allgemeinen durch den Namen des Arrays bezeichnet). Der Basiswert ist Index 0 und die Differenz zwischen den beiden Indizes ist der Offset.Der Einfachheit halber können wir uns ein Array als eine Flotte von Treppen vorstellen, bei denen auf jeder Stufe ein Wert platziert wird (sagen wir einer Ihrer Freunde). Hier können Sie den Standort eines Ihrer Freunde identifizieren, indem Sie einfach die Anzahl der Schritte kennen, auf denen sie sich befinden.
Denken Sie daran: „Die Position des nächsten Index hängt vom verwendeten Datentyp ab“.

array

Das obige Bild kann als Top-Level-Ansicht einer Treppe betrachtet werden, wo Sie sich an der Basis der Treppe befinden. Jedes Element kann durch seinen Index im Array eindeutig identifiziert werden (ähnlich wie Sie Ihre Freunde im obigen Beispiel anhand des Schritts identifizieren konnten, auf dem sie sich befanden).

Größe des Arrays

In der C-Sprache hat das Array eine feste Größe, dh sobald die Größe angegeben ist, kann es nicht geändert werden, dh Sie können es weder verkleinern noch erweitern. Der Grund war, dass wir zum Beispiel, wenn wir die Größe ändern, nicht sicher sein können (es ist nicht jedes Mal möglich), dass wir den nächsten Speicherplatz als frei erhalten. Das Schrumpfen funktioniert nicht, da das Array, wenn es deklariert wird, statisch Speicher erhält und daher der Compiler der einzige ist, der es zerstört.

Arten der Indizierung in einem Array:

  • 0 (Zero-based indexing): Das erste Element des Arrays wird durch einen Index von 0 indiziert
  • 1 (one-based indexing): Das erste Element des Arrays wird durch den Index von 1 indiziert
  • n (n-based indexing): Der Basisindex eines Arrays kann frei gewählt werden. Normalerweise erlauben Programmiersprachen, die eine n-basierte Indizierung zulassen, auch negative Indexwerte, und andere skalare Datentypen wie Aufzählungen oder Zeichen können als Array-Index verwendet werden.

Vorteile der Verwendung von Arrays:

  • Arrays ermöglichen den Direktzugriff auf Elemente. Dies macht den Zugriff auf Elemente nach Position schneller.
  • Arrays haben eine bessere Cache-Lokalität, die einen ziemlich großen Unterschied in der Leistung machen kann.
  • Arrays repräsentieren mehrere Datenelemente desselben Typs unter Verwendung eines einzigen Namens.

Nachteile der Verwendung von Arrays:
Sie können die Größe nicht ändern, dh sobald Sie das Array deklariert haben, können Sie seine Größe aufgrund des ihm zugewiesenen statischen Speichers nicht ändern. Hier ist das Einfügen und Löschen schwierig, da die Elemente in aufeinanderfolgenden Speicherplätzen gespeichert sind und der Verschiebungsvorgang ebenfalls kostspielig ist.
Nun, wenn ein Beispiel für die Umsetzung der Datenstruktur Stapel mit Array gibt es einige offensichtliche Fehler.

Nehmen wir die POP-Operation des Stapels. Der Algorithmus würde ungefähr so gehen.

  1. Überprüfen Sie den Stack Underflow
  2. Dekrementieren Sie die Spitze um 1

Also, was wir tun, ist, dass der Zeiger auf das oberste Element dekrementiert ist, was bedeutet, dass wir nur unsere Ansicht begrenzen Tatsächlich bleibt dieses Element dort und spricht vom Speicherplatz, wenn Sie einen primitiven Datentyp haben, dann könnte es in Ordnung sein, aber das Objekt eines Arrays würde viel Speicher beanspruchen.

Beispiele –

// A character array in C/C++/Javachar arr1 = {'g', 'e', 'e', 'k', 's'};// An Integer array in C/C++/Javaint arr2 = {10, 20, 30, 40, 50};// Item at i'th index in array is typically accessed// as "arr". For example arr1 gives us 'g'// and arr2 gives us 40.

Normalerweise wird ein Array von Zeichen als „String“ bezeichnet, während ein Array von Ints oder Floats einfach als Array bezeichnet wird.

Anwendungen auf Array

  1. Array speichert Datenelemente desselben Datentyps.
  2. Arrays können für die CPU-Planung verwendet werden.
  3. Wird verwendet, um andere Datenstrukturen wie Stacks, Warteschlangen, Heaps, Hash-Tabellen usw. zu implementieren.

Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel mit schreiben contribute.geeksforgeeks.org oder mailen Sie Ihren Artikel an [email protected] . Sehen Sie sich Ihren Artikel auf der GeeksforGeeks-Hauptseite an und helfen Sie anderen Geeks.