Speichern Sie mehrere Elemente desselben Typs an einem Ort, an dem nacheinander auf sie zugegriffen werden kann, oder auf eine Weise, die einen sequenziellen Zugriff ermöglicht. Arrays sind eine der besten Optionen. In fast jeder Computersprache können Arrays oder verwandte Datenstrukturen zum Speichern von Daten verwendet werden. Arrays sind lineare Datenstrukturen, da grundlegende Vorgänge wie Einfügen, Löschen, Durchlaufen und Aktualisieren lineare Zeit in Anspruch nehmen. Der Zugriff auf Array-Elemente ist ebenfalls einfach. In diesem Artikel wird gezeigt, wie Sie das letzte Element in einem C++-Array auswählen.
Given array A = [10, 14, 65, 85, 96, 12, 35, 74, 69] The last element is 69
Zum Beispiel kann auf das letzte Mitglied über die Indexposition zugegriffen werden, wie im Array im vorherigen Beispiel. In C++ (und anderen Programmiersprachen wie Java und Python) beginnt die Array-Indizierung bei Index 0. Um den letzten Index zu lesen, wählen wir einfach das Element aus Index (n − 1) aus, wobei n die Elementanzahl des Arrays ist.
Nehmen Sie ein Array A als Eingabe
n := die Anzahl der Elemente in A
last_element := Holen Sie sich
Das letzte Element zurückgeben
#include <iostream> # define Z 50 using namespace std; void displayArr(int arr[], int n){ for( int i = 0; i < n; i++ ){ cout << arr[ i ] << ", "; } cout << endl; } int pickLastElement( int A[], int n) { int last; last = A[ n - 1 ]; return last; } int main() { int A[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; int n = 12; cout << "Given Array: "; displayArr( A, n ); int last = pickLastElement( A, n ); cout << "The last element of A: " << last << endl; int B[ Z ] = { 98, 12, 10, 23, 45, 74 }; int m = 6; cout << "Another array: "; displayArr( B, m ); last = pickLastElement( B, m ); cout << "The last element of B: " << last << endl; }
Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74
Array ist die Standortadresse der Basisadresse (erste) plus Offsets (Indizes). Daher können Sie Zeiger verwenden, um auf den Index zuzugreifen, ohne eckige Klammern zu verwenden. Um das letzte Element zu erhalten, können Sie den Basisadresswert des Arrays verwenden. Schauen wir uns die konkrete Umsetzung an, um einen klareren Überblick zu erhalten.
Die chinesische Übersetzung von#include <iostream> # define Z 50 using namespace std; void displayArr(int arr[], int n){ for( int i = 0; i < n; i++ ){ cout << arr[ i ] << ", "; } cout << endl; } int pickLastElement( int A[], int n) { int last; last = *(A + n - 1); return last; } int main() { int A[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; int n = 12; cout << "Given Array: "; displayArr( A, n ); int last = pickLastElement( A, n ); cout << "The last element of A: " << last << endl; int B[ Z ] = { 98, 12, 10, 23, 45, 74 }; int m = 6; cout << "Another array: "; displayArr( B, m ); last = pickLastElement( B, m ); cout << "The last element of B: " << last << endl; }
Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74
Der Wert von A hier (dargestellt durch Zeiger *A) stellt den Wert der Adresse dar, auf die A zeigt. Dies ist die Basisadresse des Arrays.
Vektoren sind dynamische Arrays, ansonsten ist das Ganze arrayartig. Um das letzte Element zu lesen, müssen wir hier nur auf den letzten Index zugreifen, der vector.size() - 1 ist. Der Code lautet wie folgt -
Die chinesische Übersetzung von#include <iostream> #include <vector> # define Z 50 using namespace std; void displayArr( vector<int> v ){ for( int i = 0; i < v.size() ; i++ ){ cout << v[ i ] << ", "; } cout << endl; } int pickLastElement( vector<int> A) { int last; last = A[ A.size() - 1 ]; return last; } int main() { vector<int> A = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; cout << "Given Array: "; displayArr( A ); int last = pickLastElement( A ); cout << "The last element of A: " << last << endl; vector<int> B = { 98, 12, 10, 23, 45, 74 }; cout << "Another array: "; displayArr( B ); last = pickLastElement( B ); cout << "The last element of B: " << last << endl; }
Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74
In der vorherigen Methode haben wir den Index 0 verwendet, um das Element abzurufen, aber es gibt noch eine andere Möglichkeit. Wir können die Methode back() verwenden, um das letzte Element zurückzugeben. Schauen wir uns den Code an, um eine klarere Sicht zu erhalten.
Die chinesische Übersetzung von#include <iostream> #include <vector> # define Z 50 using namespace std; void displayArr( vector<int> v ){ for( int i = 0; i < v.size() ; i++ ){ cout << v[ i ] << ", "; } cout << endl; } int pickLastElement( vector<int> A) { int last; last = A.back(); return last; } int main() { vector<int> A = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; cout << "Given Array: "; displayArr( A ); int last = pickLastElement( A ); cout << "The last element of A: " << last << endl; vector<int> B = { 98, 12, 10, 23, 45, 74 }; cout << "Another array: "; displayArr( B ); last = pickLastElement( B ); cout << "The last element of B: " << last << endl; }
Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74
Wir haben vier verschiedene Methoden zum Lesen des letzten Elements aus einem Array gesehen. Die ersten beiden Methoden werden basierend auf statischen Arrays in C++ implementiert. Um das letzte Element zu lesen, müssen wir nur das Element vom Index 0 nehmen. Der gleiche Vorgang kann mithilfe des Basisadresszeigers des Arrays ausgeführt werden. Die Basisadresse zeigt auf den ersten Block, der Wert an diesem Index ist das erste Element, durch Addition des Offsets erhalten wir das letzte Element. In den nächsten beiden Methoden verwenden wir Vektoren. Der Ansatz ist hier derselbe wie bei statischen Arrays. Die letzte Methode verwendet die back()-Funktion des Vektoriterators, um das letzte Element im Vektor zurückzugeben.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Abrufen des letzten Elements in einem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!