Vektor di C++ Standard Template Library (STL) dengan Contoh
Apa itu Vektor C++?
Vektor C++ adalah array 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 vektor disimpan dalam penyimpanan yang berdekatan. Hal ini memungkinkan pemrogram C++ untuk mengakses dan melintasi elemen vektor menggunakan iterator.
Penyisipan data baru ke vektor dilakukan di ujungnya. 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 menangani elemen data yang berubah secara konsisten.
Jika ukuran data tidak diketahui sebelum dimulai, vektor tidak akan mengharuskan Anda menyetel ukuran maksimum penampung.
Cara Menginisialisasi Vektor di C++
Sintaks vektor dalam C++ adalah:
vector <data-type> name (items)
Seperti yang ditunjukkan di atas, kita mulai dengan kata kunci vektor.
Tipe data adalah tipe data 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 sebuah vektor. Ini adalah objek yang berfungsi seperti pointer. Berikut adalah iterator umum yang didukung oleh vektor C++:
vektor::begin(): itu memberikan iterator yang menunjuk ke elemen pertama dari vektor.
vektor::end(): itu memberikan iterator yang menunjuk ke elemen terakhir dari vektor.
vektor::cbegin(): sama dengan vector::begin(), tetapi tidak memiliki kemampuan untuk memodifikasi elemen.
vektor::cend(): sama dengan vector::end() tetapi tidak dapat mengubah elemen vektor.
Pengubah
Pengubah digunakan untuk mengubah arti dari tipe data yang ditentukan. Berikut adalah pengubah umum di C++:
vektor::push_back(): Pengubah ini mendorong elemen dari belakang.
vektor::insert(): Untuk menyisipkan item baru ke vektor di lokasi tertentu.
vektor::pop_back(): Pengubah ini menghapus elemen vektor dari belakang.
vektor::hapus(): Ini digunakan untuk menghapus berbagai elemen dari lokasi yang ditentukan.
vektor::clear(): Ini menghapus semua elemen vektor.
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 adalah screenshot kodenya:
Penjelasan Kode:
Sertakan file header iostream dalam kode kita. Ini akan memungkinkan kita untuk membaca dari 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.
The { menandai awal dari isi fungsi main().
Deklarasikan sebuah vektor bernama nums untuk menyimpan sekumpulan bilangan bulat.
Buat perulangan for untuk membantu kita mengulangi vektor. Variabel akan membantu kita mengulangi elemen vektor, dari 1
st
ke 5
elemen.
Dorong elemen ke dalam angka vektor dari belakang. Untuk setiap iterasi, ini akan menambahkan nilai variabel a saat ini ke dalam vektor, yaitu 1 hingga 5.
Mencetak beberapa teks di konsol
Gunakan variabel iterator a untuk mengulangi elemen bilangan vektor dari awal hingga elemen terakhir. Perhatikan bahwa kita menggunakan iterator vector::begin() dan vector::end().
Cetak nilai yang ditunjukkan oleh variabel iterator dan 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 mengulangi elemen bilangan vektor dari awal hingga elemen terakhir. Perhatikan bahwa kita menggunakan iterator vector::cbegin() dan vector::cend().
Cetak nilai yang ditunjukkan oleh variabel iterator a pada konsol untuk setiap iterasi.
Fungsi utama harus mengembalikan nilai jika program berhasil dijalankan.
Akhir dari isi fungsi main().
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 adalah screenshot kodenya:
Penjelasan Kode:
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 sebuah vektor bernama nums untuk menyimpan beberapa nilai integer.
Menyimpan 5 elemen dalam bilangan vektor. Masing-masing dengan nilai 1.
Mencetak beberapa teks di konsol
Gunakan variabel iterator a untuk mengulangi elemen bilangan vektor.
Cetak nilai bilangan vektor di konsol untuk setiap iterasi.
Tambahkan nilai 2 di akhir bilangan vektor.
Deklarasikan variabel integer n untuk menyimpan ukuran bilangan vektor.
Cetak nilai terakhir bilangan vektor di samping teks lainnya. Seharusnya mengembalikan 2.
Hapus elemen terakhir dari bilangan vektor. 2 akan dihapus.
Mencetak 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 bilangan vektor di konsol untuk setiap iterasi.
Masukkan nilai 7 ke awal bilangan vektor.
Cetak nilai pertama bilangan vektor di samping teks lainnya. Seharusnya mengembalikan 7.
Hapus semua elemen dari bilangan vektor.
Cetak ukuran angka vektor di samping teks lain setelah menghapus semua konten. Seharusnya mengembalikan 0.
Akhir dari isi fungsi main().
Kapasitas
Gunakan fungsi berikut untuk menentukan kapasitas sebuah vektor:
Ukuran() – Ini mengembalikan jumlah item dalam vektor.
Ukuran_maks() -Ini mengembalikan jumlah item tertinggi yang dapat disimpan oleh vektor.
Kapasitas () –Ini mengembalikan jumlah ruang penyimpanan yang dialokasikan ke vektor.
Ubah ukuran () –Ini mengubah ukuran wadah berisi 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 bagian belakang vektor.
Kosong () –i t mengembalikan nilai true jika vektor kosong. Jika tidak, ia mengembalikan false.
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 adalah screenshot kodenya:
Penjelasan Kode:
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 for loop untuk membuat variabel x dengan nilai dari 1 hingga 10.
Dorong nilai variabel x ke dalam vektor.
Cetak ukuran vektor di samping teks lain di konsol.
Cetak kapasitas vektor bersama teks lain di konsol.
Cetak jumlah maksimum item yang dapat ditampung oleh vektor di samping teks lain di konsol.
Ubah ukuran vektor agar hanya memuat 5 elemen.
Cetak ukuran vektor baru di samping teks lainnya.
Periksa apakah vektor tidak kosong.
Cetak teks di konsol jika vektor tidak kosong.
Gunakan pernyataan else untuk menyatakan apa yang harus dilakukan jika vektor kosong.
Teks untuk dicetak di konsol jika vektornya kosong.
Program harus mengembalikan nilai setelah berhasil diselesaikan.
Akhir dari 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 container.
Elemen vektor disimpan dalam penyimpanan yang berdekatan untuk diakses kemudian dilintasi menggunakan iterator.
Penyisipan data baru ke dalam vektor dilakukan di akhir.
Penyisipan data ke dalam vektor membutuhkan waktu yang berbeda.
Penghapusan elemen dari vektor membutuhkan waktu yang konstan.
Menyisipkan atau menghapus elemen di awal membutuhkan waktu linier.
Vektor harus digunakan saat menangani elemen data yang berubah secara konsisten.
Juga, Anda dapat menggunakan vektor jika ukuran data tidak diketahui sebelum memulai.