Vektor masuk C++ Perpustakaan Templat Standar (STL) dengan Contoh
โก Ringkasan Cerdas
Vektor masuk C++ adalah array dinamis dari Standard Template Library yang secara otomatis mengubah ukurannya sendiri saat elemen ditambahkan atau dihapus, menyimpan item dalam memori yang berdekatan sehingga programmer dapat mengakses dan menelusurinya menggunakan iterator.

Apa itu C++ Vektor?
A C++ Vektor adalah array dinamis yang mampu mengubah ukurannya sendiri secara otomatis. Perubahan ukuran terjadi setelah elemen ditambahkan atau dihapus dari vektor. Penyimpanan ditangani secara otomatis oleh kontainer. Elemen-elemen vektor disimpan dalam penyimpanan yang berdekatan. Hal ini memungkinkan C++ programmer untuk mengakses dan melintasi elemen vektor menggunakan iterator.
Penyisipan data baru ke dalam vektor dilakukan di bagian akhir vektor. Ini membutuhkan waktu diferensial. Penghapusan elemen dari vektor membutuhkan waktu konstan. Alasannya adalah karena tidak perlu mengubah ukuran vektor. Penyisipan atau penghapusan elemen di awal vektor membutuhkan waktu linier.
Sebelum menulis kode dengan vektor, ada baiknya mengetahui kapan vektor merupakan wadah yang tepat untuk digunakan.
Kapan Menggunakan Vektor?
A C++ Vektor harus digunakan dalam keadaan berikut:
- Saat berhadapan dengan elemen data yang berubah secara konsisten.
- Jika ukuran data tidak diketahui sebelum memulai, vektor tidak akan mengharuskan Anda untuk mengatur ukuran maksimum kontainer.
Cara Inisialisasi Vektor di C++
Sintaks vektor di C++ adalah:
vector <data-type> name (items)
Seperti yang ditunjukkan di atas, kita mulai dengan kata kunci vektor.
- The tipe data adalah tipe data elemen yang akan disimpan dalam vektor.
- The nama adalah nama vektor atau elemen data.
- The item menunjukkan jumlah elemen untuk data vektor. Parameter ini bersifat opsional.
Setelah sebuah vektor ada, iterator memberi Anda cara seperti penunjuk untuk berpindah antar elemennya.
Iterator
Tujuan iterator adalah untuk membantu kita mengakses elemen-elemen yang tersimpan dalam sebuah vektor. Iterator adalah objek yang bekerja seperti pointer. Berikut adalah iterator umum yang didukung oleh C++ vektor:
- vektor::mulai(): itu memberikan iterator yang menunjuk ke elemen pertama vektor.
- vektor::akhir(): itu memberikan iterator yang menunjuk ke elemen vektor yang lewat.
- vektor::cbegin(): Fungsinya sama dengan vector::begin(), tetapi tidak memiliki kemampuan untuk memodifikasi elemen.
- vektor::cend(): Ini sama dengan vector::end() tetapi tidak dapat memodifikasi elemen vektor.
Contoh berikut mengisi sebuah vektor dan kemudian menelusurinya menggunakan iterator yang dapat diubah dan iterator konstan.
Contoh 1
#include <iostream> #include <vector> using namespace std; int main() { vector<int> 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 ini tangkapan layar kodenya:
Code Penjelasan:
- Sertakan file header iostream dalam kode kita. Ini akan memungkinkan kita 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 agar dapat menggunakan kelas dan fungsinya tanpa memanggilnya.
- Panggil fungsi main() yang di dalamnya logika program harus ditambahkan.
- Tanda { menandai awal isi fungsi main().
- Deklarasikan vektor bernama nums untuk menyimpan sekumpulan bilangan bulat.
- Buat perulangan `for` untuk membantu kita mengulang elemen-elemen vektor. Variabel tersebut akan membantu kita mengulang elemen-elemen vektor, dari elemen ke-1 hingga ke-5.
- 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 melakukan iterasi pada elemen bilangan vektor dari awal hingga elemen terakhir. Perhatikan bahwa kami menggunakan iterator vector::begin() dan vector::end().
- Cetak nilai yang ditunjukkan oleh variabel iterator a 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-elemen vektor nums dari awal hingga elemen setelah akhir. Perhatikan bahwa kita menggunakan iterator 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 berhasil dijalankan.
- Akhir dari isi fungsi main().
Pengubah
Pengubah digunakan untuk mengubah arti tipe data yang ditentukan. Berikut adalah pengubah umum di C++:
- vektor::push_back(): Pengubah ini mendorong elemen dari belakang.
- vektor::masukkan(): Untuk menyisipkan item baru ke vektor di lokasi tertentu.
- vektor::pop_back(): Pengubah ini menghilangkan elemen vektor dari belakang.
- vektor::hapus(): Ini digunakan untuk menghapus serangkaian elemen dari lokasi yang ditentukan.
- vektor::hapus(): Ini menghapus semua elemen vektor.
Contoh selanjutnya menerapkan pengubah-pengubah ini secara berurutan untuk melihat bagaimana sebuah vektor berubah.
Contoh 2
#include <iostream> #include <vector> using namespace std; int main() { vector<int> 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 ini tangkapan layar kodenya:
Code Penjelasan:
- Sertakan file header iostream dalam kode kita 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 bilangan vektor. Masing-masing bernilai 1.
- Cetak beberapa teks di konsol.
- Gunakan variabel iterator a untuk mengulangi elemen bilangan vektor.
- Cetak nilai angka vektor di konsol untuk setiap iterasi.
- Tambahkan nilai 2 di akhir angka vektor.
- Deklarasikan variabel integer n untuk menyimpan ukuran angka vektor.
- Cetak nilai terakhir angka vektor di samping teks lainnya. Ini harus mengembalikan 2.
- Hapus elemen terakhir dari angka 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 bilangan vektor.
- Cetak nilai angka vektor di konsol untuk setiap iterasi.
- Masukkan nilai 7 pada awal bilangan vektor.
- Cetak nilai pertama angka 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 dari isi fungsi main().
Kapasitas
Gunakan yang berikut ini fungsi untuk menentukan kapasitas sebuah vektor:
- Ukuran() โ Fungsi ini mengembalikan jumlah item dalam sebuah vektor.
- Ukuran_maks() โ Fungsi ini mengembalikan jumlah item tertinggi yang dapat disimpan oleh sebuah vektor.
- Kapasitas() โ Fungsi ini mengembalikan jumlah ruang penyimpanan yang dialokasikan untuk sebuah vektor.
- Ubah ukuran() โ Fungsi ini mengubah ukuran kontainer agar dapat memuat n item. Jika ukuran vektor saat ini lebih besar dari n, item di bagian belakang akan dihapus dari vektor. Jika ukuran vektor saat ini lebih kecil dari n, item tambahan akan ditambahkan ke bagian belakang vektor.
- Kosong() โ Fungsi ini mengembalikan nilai true jika vektor kosong. Jika tidak, fungsi ini mengembalikan nilai false.
Contoh terakhir ini melaporkan dan menyesuaikan penyimpanan vektor menggunakan fungsi kapasitas di atas.
Contoh 3
#include <iostream> #include <vector> using namespace std; int main() { vector<int> 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"<<endl; else cout << "Vector is empty"<<endl; return 0; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Code Penjelasan:
- Sertakan file header iostream dalam kode kita 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 dalam isi 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 bersama teks lain di konsol.
- Ubah ukuran vektor agar hanya menampung 5 elemen.
- Cetak ukuran vektor baru di samping teks lainnya.
- Periksa apakah vektornya tidak kosong.
- Cetak teks di konsol jika vektornya tidak kosong.
- Gunakan pernyataan else untuk menyatakan apa yang harus dilakukan jika vektornya kosong.
- Teks untuk dicetak di konsol jika vektornya kosong.
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir dari isi fungsi main().





