Simpan berbilang elemen daripada jenis yang sama di lokasi yang boleh diakses secara berurutan atau dengan cara yang membolehkan akses berjujukan. Tatasusunan adalah salah satu pilihan terbaik. Dalam hampir mana-mana bahasa komputer, tatasusunan atau struktur data yang berkaitan boleh digunakan untuk menyimpan data. Tatasusunan ialah struktur data linear kerana operasi asas seperti penyisipan, pemadaman, traversal dan kemas kini mengambil masa linear untuk diselesaikan. Mengakses item tatasusunan juga mudah. Artikel ini akan menunjukkan cara memilih elemen terakhir dalam tatasusunan C++.
Given array A = [10, 14, 65, 85, 96, 12, 35, 74, 69] The last element is 69
Sebagai contoh, ahli terakhir boleh diakses menggunakan kedudukan indeks, seperti dalam tatasusunan yang diberikan dalam contoh sebelumnya. Dalam C++ (dan bahasa pengaturcaraan lain seperti Java dan Python), pengindeksan tatasusunan bermula pada indeks 0. Jadi, untuk membaca indeks terakhir, kita hanya pilih elemen daripada indeks (n − 1), di mana n ialah kiraan elemen tatasusunan.
Ambil tatasusunan A sebagai input
n := bilangan elemen dalam A
elemen_akhir := Dapatkan
Kembalikan elemen terakhir
#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 ialah alamat lokasi alamat asas (first) tambah offset (indeks). Oleh itu, anda boleh menggunakan penunjuk untuk mengakses indeks tanpa menggunakan kurungan segi empat sama. Untuk mendapatkan elemen terakhir, anda boleh menggunakan nilai alamat asas tatasusunan. Mari kita lihat pelaksanaan konkrit untuk mendapatkan pandangan yang lebih jelas.
Terjemahan bahasa Cina bagi#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
Nilai A di sini (diwakili oleh penunjuk *A) mewakili nilai alamat yang ditunjuk oleh A. Ini ialah alamat asas tatasusunan.
Vektor ialah tatasusunan dinamik, jika tidak, keseluruhannya adalah seperti tatasusunan. Di sini, untuk membaca elemen terakhir, kita hanya perlu mengakses indeks terakhir, iaitu vector.size() - 1. Kodnya adalah seperti berikut -
Terjemahan bahasa Cina bagi#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
Dalam kaedah sebelumnya kami menggunakan indeks 0 untuk mendapatkan elemen, tetapi ada cara lain yang mungkin. Kita boleh menggunakan kaedah back() untuk mengembalikan elemen terakhir. Mari kita lihat kod untuk mendapatkan paparan yang lebih jelas.
Terjemahan bahasa Cina bagi#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
Kami telah melihat empat kaedah berbeza untuk membaca elemen terakhir daripada tatasusunan. Dua kaedah pertama dilaksanakan berdasarkan tatasusunan statik dalam C++. Untuk membaca elemen terakhir, kita hanya perlu mengambil elemen dari indeks 0. Operasi yang sama boleh dicapai menggunakan penuding alamat asas tatasusunan. Alamat asas menghala ke blok pertama, nilai pada indeks itu akan menjadi elemen pertama, dengan menambah offset kita mendapat elemen terakhir. Dalam dua kaedah seterusnya, kami menggunakan vektor. Pendekatan di sini adalah sama seperti tatasusunan statik. Kaedah terakhir menggunakan fungsi back() iterator vektor untuk mengembalikan elemen terakhir dalam vektor.
Atas ialah kandungan terperinci Program C++ untuk mendapatkan elemen terakhir dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!