Vektor masuk C++ Perpustakaan Templat Standar (STL) dengan Contoh

Apa itu C++ Vektor?

A C++ vektor adalah array dinamis yang mampu mengubah ukurannya secara otomatis. Pengubahan 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 vektor dilakukan di bagian akhir. Ini membutuhkan waktu yang berbeda. Penghapusan suatu elemen dari suatu vektor memerlukan waktu yang konstan. Alasannya adalah tidak perlu mengubah ukuran vektor. Penyisipan atau penghapusan suatu elemen pada awal vektor membutuhkan waktu linier.

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 mengharuskan Anda menyetel ukuran maksimum penampung.

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.
  • Tipe data adalah tipe data dari elemen yang akan disimpan dalam vektor.
  • Nama adalah nama vektor atau elemen datanya.
  • Item menunjukkan jumlah elemen untuk data vektor. Parameter ini opsional.

Iterator

Tujuan dari iterator adalah untuk membantu kita mengakses elemen yang disimpan dalam vektor. Ini adalah objek yang berfungsi seperti penunjuk. 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(): itu sama dengan vector::begin(), tetapi tidak memiliki kemampuan untuk mengubah elemen.
  • vektor::cend(): itu sama dengan vector::end() tetapi tidak dapat mengubah elemen vektor.

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 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:

Pengubah

Berikut ini tangkapan layar kodenya:

Pengubah

Penjelasan Kode:

  1. Sertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
  2. Sertakan file header vektor dalam kode kita. Ini akan memungkinkan kita untuk bekerja dengan vektor di C++.
  3. Sertakan namespace std agar dapat menggunakan kelas dan fungsinya tanpa memanggilnya.
  4. Panggil fungsi main() yang di dalamnya logika program harus ditambahkan.
  5. Tanda { menandai awal isi fungsi main().
  6. Deklarasikan vektor bernama nums untuk menyimpan sekumpulan bilangan bulat.
  7. Buat perulangan for untuk membantu kita melakukan iterasi pada vektor. Variabel akan membantu kita melakukan iterasi pada elemen vektor, dari 1st untuk 5th elemen.
  8. 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.
  9. Cetak beberapa teks di konsol
  10. 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().
  11. Cetak nilai yang ditunjuk oleh variabel iterator dan di konsol untuk setiap iterasi.
  12. Cetak beberapa teks di konsol. \n adalah karakter baris baru, memindahkan kursor ke baris baru untuk mencetak dari sana.
  13. Gunakan variabel iterator untuk melakukan iterasi pada elemen bilangan vektor dari awal hingga elemen terakhir. Perhatikan bahwa kami menggunakan iterator vector::cbegin() dan vector::cend().
  14. Cetak nilai yang ditunjukkan oleh variabel iterator a di konsol untuk setiap iterasi.
  15. Fungsi utama harus mengembalikan nilai jika program berhasil dijalankan.
  16. 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:

Pengubah

Berikut ini tangkapan layar kodenya:

Pengubah

Penjelasan Kode:

  1. Sertakan file header iostream dalam kode kita untuk menggunakan fungsinya.
  2. Sertakan file header vektor dalam kode kita untuk menggunakannya fungsi.
  3. Sertakan namespace std untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus ditambahkan di dalam tubuhnya.
  5. Awal dari isi fungsi main().
  6. Deklarasikan vektor bernama nums untuk menyimpan beberapa nilai integer.
  7. Simpan 5 elemen dalam bilangan vektor. Masing-masing bernilai 1.
  8. Cetak beberapa teks di konsol
  9. Gunakan variabel iterator a untuk mengulangi elemen bilangan vektor.
  10. Cetak nilai angka vektor di konsol untuk setiap iterasi.
  11. Tambahkan nilai 2 di akhir angka vektor.
  12. Deklarasikan variabel integer n untuk menyimpan ukuran angka vektor.
  13. Cetak nilai terakhir angka vektor di samping teks lainnya. Ini harus mengembalikan 2.
  14. Hapus elemen terakhir dari angka vektor. 2 akan dihapus.
  15. Cetak teks di konsol. \n memindahkan kursor ke baris baru untuk mencetak teks di sana.
  16. Gunakan variabel iterator a untuk mengulangi elemen bilangan vektor.
  17. Cetak nilai angka vektor di konsol untuk setiap iterasi.
  18. Masukkan nilai 7 pada awal bilangan vektor.
  19. Cetak nilai pertama angka vektor di samping teks lainnya. Ini harus mengembalikan 7.
  20. Hapus semua elemen dari nomor vektor.
  21. Cetak ukuran nomor vektor di samping teks lain setelah menghapus semua konten. Ini harus mengembalikan 0.
  22. Akhir dari isi fungsi main().

Kapasitas

Gunakan fungsi berikut untuk menentukan kapasitas vektor:

  • Ukuran() -Ini mengembalikan jumlah item dalam vektor.
  • Ukuran_maks() -Ini mengembalikan jumlah item tertinggi yang dapat disimpan oleh vektor.
  • Kapasitas () –Itu mengembalikan jumlah ruang penyimpanan yang dialokasikan ke vektor.
  • Ubah ukuran () –Itu mengubah ukuran wadah untuk menampung n item. Jika ukuran vektor saat ini lebih besar dari n, item belakangnya akan dikeluarkan dari vektor. Jika ukuran vektor saat ini lebih kecil dari n, item tambahan akan ditambahkan ke bagian belakang vektor.
  • Kosong () –it mengembalikan nilai true jika vektor kosong. Jika tidak, hasilnya salah.

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:

Kapasitas

Berikut ini tangkapan layar kodenya:

Kapasitas

Penjelasan Kode:

  1. Sertakan file header iostream dalam kode kita untuk menggunakan fungsinya.
  2. Sertakan file header vektor dalam kode kita untuk menggunakan fungsinya.
  3. Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  5. Buat vektor bernama vector1 untuk menyimpan bilangan bulat.
  6. Gunakan perulangan for untuk membuat variabel x dengan nilai dari 1 hingga 10.
  7. Dorong nilai variabel x ke dalam vektor.
  8. Cetak ukuran vektor bersama teks lain di konsol.
  9. Cetak kapasitas vektor bersama teks lain di konsol.
  10. Cetak jumlah maksimum item yang dapat ditampung vektor bersama teks lain di konsol.
  11. Ubah ukuran vektor agar hanya menampung 5 elemen.
  12. Cetak ukuran vektor baru di samping teks lainnya.
  13. Periksa apakah vektornya tidak kosong.
  14. Cetak teks di konsol jika vektornya tidak kosong.
  15. Gunakan pernyataan else untuk menyatakan apa yang harus dilakukan jika vektornya kosong.
  16. Teks untuk dicetak di konsol jika vektornya kosong.
  17. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  18. Akhir dari isi fungsi main().

Ringkasan

  • A C++ vektor adalah array dinamis yang mampu mengubah ukurannya secara otomatis ketika sebuah elemen ditambahkan atau dihapus darinya.
  • Penyimpanan vektor ditangani secara otomatis oleh container.
  • Elemen-elemen suatu vektor disimpan dalam penyimpanan yang berdekatan untuk dapat diakses kemudian dilintasi menggunakan iterator.
  • Penyisipan data baru ke dalam vektor dilakukan di bagian akhir.
  • Penyisipan data ke dalam vektor membutuhkan waktu yang berbeda.
  • Penghapusan suatu elemen dari suatu vektor memerlukan waktu yang konstan.
  • Penyisipan atau penghapusan suatu 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 datanya tidak diketahui sebelum memulai.