Menambahkan Array ke Vector dalam C++
Dalam pemrograman C++, seringkali kita perlu menggabungkan elemen-elemen dari sebuah array ke dalam sebuah vector. Ada beberapa metode yang dapat digunakan untuk mencapai hal ini, berikut penjelasannya:
1. Menggunakan std::copy()
Metode ini memanfaatkan fungsi std::copy()
dari library <algorithm>
untuk menyalin elemen-elemen array ke dalam vector.
Kode:
#include
#include
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::vector vec;
// Salin elemen-elemen array ke dalam vector
std::copy(arr, arr + size, std::back_inserter(vec));
// Menampilkan isi vector
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
Penjelasan:
std::copy(arr, arr + size, std::back_inserter(vec));
arr
: Pointer ke elemen pertama dari array.arr + size
: Pointer ke elemen terakhir dari array.std::back_inserter(vec)
: Menambahkan elemen baru ke akhir vector.
2. Menggunakan Loop
Metode ini menggunakan loop for untuk menambahkan elemen-elemen array ke dalam vector secara manual.
Kode:
#include
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::vector vec;
// Menambahkan elemen-elemen array ke dalam vector
for (int i = 0; i < size; i++) {
vec.push_back(arr[i]);
}
// Menampilkan isi vector
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
Penjelasan:
vec.push_back(arr[i])
: Menambahkan elemenarr[i]
ke akhir vector.
3. Menggunakan Initializer List
Metode ini menggunakan initializer list untuk menambahkan elemen-elemen array ke dalam vector saat inisialisasi vector.
Kode:
#include
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::vector vec(arr, arr + size);
// Menampilkan isi vector
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
Penjelasan:
std::vector<int> vec(arr, arr + size);
: Menginisialisasi vector dengan elemen-elemen array dariarr
hinggaarr + size
.
Kesimpulan
Ketiga metode di atas dapat digunakan untuk menambahkan array ke vector dalam C++. Pilih metode yang paling sesuai dengan kebutuhan Anda. Ingatlah bahwa metode std::copy()
adalah metode yang lebih efisien karena menggunakan iterator, sedangkan metode loop dan initializer list mungkin lebih mudah dipahami dan diterapkan.