Apa itu Vektor C ++?
A C ++ VECTOR adalah larik dinamis yang mampu mengubah ukurannya sendiri secara otomatis. Pengubahan ukuran terjadi setelah elemen ditambahkan atau dihapus dari vektor. Penyimpanan ditangani secara otomatis oleh wadah. Elemen-elemen vektor disimpan dalam penyimpanan yang berdekatan. Ini memungkinkan programmer C ++ untuk mengakses dan melintasi elemen vektor menggunakan iterator.
Penyisipan data baru ke vektor dilakukan pada akhirnya. Ini membutuhkan waktu yang berbeda. Penghapusan elemen dari vektor membutuhkan waktu yang konstan. Alasannya adalah tidak perlu mengubah ukuran vektor. Penyisipan atau penghapusan elemen di awal vektor membutuhkan waktu linier.
Dalam Tutorial C ++ ini, Anda akan mempelajari:
- Apa itu Vektor C ++?
- Kapan Menggunakan Vektor?
- Cara Menginisialisasi Vektor di C ++
- Iterator
- Pengubah
- Contoh 1
- Contoh 2
- Kapasitas
- Contoh 3
Kapan Menggunakan Vektor?
Vektor C ++ harus digunakan dalam keadaan berikut:
- Saat berhadapan dengan elemen data yang berubah secara konsisten.
- Jika ukuran data tidak diketahui sebelum memulai, vektor tidak akan meminta Anda menyetel ukuran maksimum penampung.
Cara Menginisialisasi Vektor di C ++
Sintaks vektor dalam C ++ adalah:
vectorname (items)
- Seperti yang ditunjukkan di atas, kita mulai dengan kata kunci vektor.
- Tipe data adalah tipe data dari elemen yang akan disimpan dalam vektor.
- Nama adalah nama vektor atau elemen data.
- Item menunjukkan jumlah elemen untuk data vektor. Parameter ini opsional.
Iterator
Tujuan dari iterator adalah untuk membantu kita mengakses elemen yang disimpan dalam vektor. Itu adalah objek yang bekerja seperti penunjuk. Berikut adalah iterator umum yang didukung oleh vektor C ++:
- vector :: begin (): memberikan iterator yang menunjuk ke elemen pertama vektor.
- vector :: end (): memberikan iterator yang menunjuk ke elemen terakhir dari vektor.
- vector :: cbegin (): sama dengan vector :: begin (), tetapi tidak memiliki kemampuan untuk memodifikasi elemen.
- vector :: cend (): sama dengan vector :: end () tetapi tidak bisa memodifikasi elemen vektor.
Pengubah
Pengubah digunakan untuk mengubah arti dari tipe data yang ditentukan. Berikut adalah pengubah umum di C ++:
- vector :: push_back (): Pengubah ini mendorong elemen dari belakang.
- vector :: insert (): Untuk memasukkan item baru ke vektor di lokasi yang ditentukan.
- vector :: pop_back (): Pengubah ini menghapus elemen vektor dari belakang.
- vector :: erase (): Ini digunakan untuk menghapus berbagai elemen dari lokasi yang ditentukan.
- vector :: clear (): Ini menghapus semua elemen vektor.
Contoh 1
#include#include using namespace std;int main(){vector nums;for (int a = 1; a <= 5; a++)nums.push_back(a);cout << "Output from begin and end: ";for (auto a = nums.begin(); a != nums.end(); ++a)cout << *a << " ";cout << "\nOutput from cbegin and cend: ";for (auto a = nums.cbegin(); a != nums.cend(); ++a)cout << *a << " ";return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Sertakan file header vektor dalam kode kita. Ini akan memungkinkan kita untuk bekerja dengan vektor di C ++.
- Sertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Panggil fungsi main () di mana logika program harus ditambahkan.
- {Menandai awal isi dari fungsi main ().
- Deklarasikan vektor bernama nums untuk menyimpan satu set bilangan bulat.
- Buat loop for untuk membantu kita melakukan iterasi pada vektor. Variabel akan membantu kita iterate atas elemen vektor, dari 1 st sampai 5 th elemen.
- Dorong elemen ke dalam nomor vektor dari belakang. Untuk setiap iterasi, ini akan menambahkan nilai variabel a saat ini ke dalam vektor, yaitu 1 hingga 5.
- Cetak beberapa teks di konsol
- Gunakan variabel iterator a untuk mengulangi elemen nomor vektor dari awal hingga elemen terakhir. Perhatikan bahwa kita menggunakan iterator vector :: begin () dan vector :: end ().
- Cetak nilai yang ditunjukkan oleh variabel iterator di konsol untuk setiap iterasi.
- Cetak beberapa teks di konsol. \ N adalah karakter baris baru, memindahkan kursor ke baris baru untuk mencetak dari sana.
- Gunakan variabel iterator untuk mengulang elemen nomor vektor dari awal hingga elemen terakhir. Perhatikan bahwa kita menggunakan iterators vector :: cbegin () dan vector :: cend ().
- Cetak nilai yang ditunjukkan oleh variabel iterator a di konsol untuk setiap iterasi.
- Fungsi utama harus mengembalikan nilai jika program berjalan dengan sukses.
- Akhir badan fungsi main ().
Contoh 2
#include#include using namespace std;int main(){vector nums;nums.assign(5, 1);cout << "Vector contents: ";for (int a = 0; a < nums.size(); a++)cout << nums[a] << " ";nums.push_back(2);int n = nums.size();cout << "\nLast element: " << nums[n - 1];nums.pop_back();cout << "\nVector contents: ";for (int a = 0; a < nums.size(); a++)cout << nums[a] << " ";nums.insert(nums.begin(), 7);cout << "\nFirst element: " << nums[0];nums.clear();cout << "\nSize after clear(): " << nums.size();}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami untuk menggunakan fungsinya.
- Sertakan file header vektor dalam kode kita untuk menggunakan fungsinya.
- Sertakan namespace std untuk menggunakan kelasnya tanpa memanggilnya.
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuhnya.
- Awal dari isi fungsi main ().
- Deklarasikan vektor bernama nums untuk menyimpan beberapa nilai integer.
- Simpan 5 elemen dalam angka vektor. Masing-masing dengan nilai 1.
- Cetak beberapa teks di konsol
- Gunakan variabel iterator a untuk mengulangi elemen nomor vektor.
- Cetak nilai nomor vektor di konsol untuk setiap iterasi.
- Tambahkan nilai 2 ke ujung angka vektor.
- Deklarasikan variabel bilangan bulat n untuk menyimpan ukuran angka vektor.
- Cetak nilai terakhir nomor vektor di samping teks lainnya. Ini harus mengembalikan 2.
- Hapus elemen terakhir dari nomor vektor. 2 akan dihapus.
- Cetak teks di konsol. \ N memindahkan kursor ke baris baru untuk mencetak teks di sana.
- Gunakan variabel iterator a untuk mengulangi elemen nomor vektor.
- Cetak nilai nomor vektor di konsol untuk setiap iterasi.
- Masukkan nilai 7 di awal angka vektor.
- Cetak nilai pertama dari nomor vektor di samping teks lainnya. Ini harus mengembalikan 7.
- Hapus semua elemen dari nomor vektor.
- Cetak ukuran nomor vektor di samping teks lain setelah menghapus semua konten. Ini harus mengembalikan 0.
- Akhir badan fungsi main ().
Kapasitas
Gunakan fungsi berikut untuk menentukan kapasitas vektor:
- Ukuran () - Ini mengembalikan jumlah item dalam vektor.
- Max_size () -itu mengembalikan jumlah item tertinggi yang dapat disimpan vektor.
- Kapasitas () -itu mengembalikan jumlah ruang penyimpanan yang dialokasikan ke vektor.
- Resize () -Ini mengubah ukuran wadah untuk memuat n item. Jika ukuran vektor saat ini lebih besar dari n, item belakang akan dihapus dari vektor. Jika ukuran vektor saat ini lebih kecil dari n, item tambahan akan ditambahkan ke belakang vektor.
- Empty () -i t mengembalikan nilai true jika vektor kosong, jika tidak, mengembalikan false.
Contoh 3
#include#include using namespace std;int main() {vector vector1;for (int x = 1; x <= 10; x++)vector1.push_back(x);cout << "Vector size: " << vector1.size()<< endl;cout << "Vector capacity: " << vector1.capacity() << endl;cout << "Maximum size of vector: " << vector1.max_size()<< endl;vector1.resize(5);cout << "Vector size after resizing: " << vector1.size() << endl;if (vector1.empty() == false)cout << "Vector is not empty"< Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami untuk menggunakan fungsinya.
- Sertakan file header vektor dalam kode kita untuk menggunakan fungsinya.
- Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuh fungsi ini.
- Buat vektor bernama vector1 untuk menyimpan bilangan bulat.
- Gunakan perulangan for untuk membuat variabel x dengan nilai dari 1 hingga 10.
- Dorong nilai variabel x ke dalam vektor.
- Cetak ukuran vektor bersama teks lain di konsol.
- Cetak kapasitas vektor bersama teks lain di konsol.
- Cetak jumlah maksimum item yang dapat ditampung vektor di samping teks lain di konsol.
- Ubah ukuran vektor untuk menampung hanya 5 elemen.
- Cetak ukuran baru vektor di samping teks lainnya.
- Periksa apakah vektor tidak kosong.
- Cetak teks di konsol jika vektor tidak kosong.
- Gunakan pernyataan lain untuk menyatakan apa yang harus dilakukan jika vektor kosong.
- Teks untuk dicetak di konsol jika vektor kosong.
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir badan fungsi main ().
Ringkasan:
- Vektor C ++ adalah larik dinamis yang mampu mengubah ukurannya secara otomatis saat elemen ditambahkan atau dihapus darinya.
- Penyimpanan untuk vektor ditangani secara otomatis oleh penampung.
- Elemen-elemen vektor disimpan dalam penyimpanan yang berdekatan agar dapat diakses kemudian dilintasi menggunakan iterator.
- Penyisipan data baru ke vektor dilakukan pada akhirnya.
- Penyisipan data ke dalam vektor membutuhkan waktu yang berbeda.
- Penghapusan elemen dari vektor membutuhkan waktu yang konstan.
- Penyisipan atau penghapusan elemen di awal membutuhkan waktu linier.
- Vektor harus digunakan ketika berhadapan dengan elemen data yang berubah secara konsisten.
- Selain itu, Anda dapat menggunakan vektor jika ukuran data tidak diketahui sebelum memulai.