Mengenal Vector pada C++
By
Rachmat Santoso
—
Selasa, 09 Mei 2017
—
Cplusplus
Contoh Program Vector pada C++ |
Vector adalah suatu class template yang merupakan bagian dari STL (Standard Template Library) dan dapat digunakan untuk menggantikan array. Sama dengan array, vector juga menyimpan elemen-elemen secara bersebelahan dan elemen tesebut dapat diakses sesuai subscript/index.
Apa
kelebihan vector?
Ukuran vector dapat berubah
secara dinamis dan dengan pengalokasian memori yang ditangani secara otomatis
oleh vector itu sendiri. Vector umumnya digunakan pemrogram karena alasan
fleksibilitas (dalam hal ukuran) dan kecepatannya.
Berbeda
jika menggunakan array, apabila kita membuat 10 elemen dengan pernyataan a[10]
maka ketika program sedang dijalankan dan ukuran yang digunakan tidak mencukupi
maka kita harus menghentikan program, mengganti ukuran array, kemudian
menjalankan program lagi. Hal tersebut tentunya membuat pekerjaan menjadi tidak
efesien. Kita sebenarnya juga bisa membuat variabel dinamis dari awal untuk
menangani hal tersebut (mengalokasikan memori saat runtime), namun di sini saya
sedang membicarakan tentang array pada umumnya.
Untuk
menggunakan vector pada C++ kita perlu menyertakan header <vector>.
Bentuk pendeklarasian vector:
vector <type>
nama_variabel (jumlah_elemen);
*jumlah elemen bersifat
opsional
Contoh:
vector
<int> a;
>
mendeklarasikan sebuah vector yang digunakan untuk menyimpan data bertipe
integer .
vector
<int> b (5);
>
mendeklarasikan sebuah vector dengan space memory untuk 5 data bertipe integer.
Bentuk penginisialisasian
vector:
vector
<float> c (10, 2.0)
>
mendeklarasikan sebuah vector dengan space memori untuk 10 data bertipe float,
dan menginisialisasi masing-masing nilai elemennya dengan 2.0.
vector
<float> d(c);
>
vector d diberi nilai sama dengan vector c. Duplikasi.
vector
<int> e = {7, 5, 16, 8} /*hanya
dapat digunakan jika compiler mendukung c++11*/
*Inisialisasi
vector juga dapat dilakukan dengan memanfaatkan array. Lihat pada contoh
program 2!
Untuk
fungsi-fungsi vector yang lain akan digunakan langsung dalam program dan akan
dijelaskan di bagian akhir. Berikut adalah program sederhana penggunaan vector
pada C++:
Program
1
/*
Mengenal Vector pada C++
Microsoft Visual Studio
Express 2012
[RS]
*/
#include <iostream>
#include <vector>
#include <conio.h>
using namespace std;
int main()
{
vector<int> vec;
vector<int>::iterator it;
cout<<"VECTOR 1 C++"<<endl;
cout<<"------------"<<endl;
////////////////////////////////////
////////////////////////////////////
//menambahkan elemen ke dalam vector
//nb: bisa menggunakan perulangan
cout<<"\nPUSH_BACK : 1,2,3,4,5"<<endl;
cout<<"---------------------"<<endl;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
///////////////////////////////////
//menampilkan seluruh isi vector dengan index
cout<<"Menampilkan seluruh isi vector dengan index: "<<endl;
for(int i = 0; i < vec.size();
i++)
{
cout<<vec[i]<<" ";
}
cout<<endl;
///////////////////////////////////
//menampilkan seluruh isi vector menggunakan fungsi at()
cout<<"\nMenampilkan seluruh isi vector menggunakan fungsi
at(): "<<endl;
for(int i = 0; i < vec.size();
i++)
{
cout<<vec.at(i)<<" ";
}
cout<<endl;
///////////////////////////////////
//Menampilkan seluruh isi vector menggunakan iterator
cout<<"\nMenampilkan seluruh isi vector menggunakan
iterator: "<<endl;
for(it = vec.begin(); it !=
vec.end(); it++)
{
cout<<*it<<" ";
}
cout<<endl;
cout<<endl;
///////////////////////////////////
///////////////////////////////////
//mengambil/menghapus elemen vector paling belakang
cout<<"\nPOP_BACK : 4,5"<<endl;
cout<<"--------------"<<endl;
vec.pop_back();
vec.pop_back();
cout<<"Isi vector saat ini: "<<endl;
for(int i = 0; i < vec.size();
i++)
{
cout<<vec[i]<<" ";
}
cout<<endl;
//////////////////////////////////
/////////////////////////////////
//menghapus semua isi vector
cout<<"\nMENGOSONGKAN VECTOR"<<endl;
cout<<"-------------------"<<endl;
vec.clear();
cout<<"Isi vector saat ini: "<<endl;
if(vec.size() != 0)
{
for(int i = 0; i < vec.size();
i++)
{
cout<<vec[i]<<" ";
}
}else
{
cout<<"<kosong>";
}
cout<<endl;
_getche();
return 0;
}
Output
VECTOR 1 C++
------------
PUSH_BACK : 1,2,3,4,5
---------------------
Menampilkan seluruh isi vector dengan index:
1 2 3 4 5
Menampilkan seluruh isi vector menggunakan fungsi at():
1 2 3 4 5
Menampilkan seluruh isi vector menggunakan iterator:
1 2 3 4 5
POP_BACK : 4,5
--------------
Isi vector saat ini:
1 2 3
MENGOSONGKAN VECTOR
-------------------
Isi vector saat ini:
<kosong>
Program
2
/*
Mengenal Vector pada C++
Microsoft Visual Studio
Express 2012
[RS]
*/
#include <iostream>
#include <vector>
#include <conio.h>
using namespace std;
int main()
{
int arr[] =
{25,10,53,64,65,96,17};
//melakukan inisialisasi vector dengan array
vector<int> vtr(arr, arr + sizeof(arr)/sizeof(int));
cout<<"VECTOR 2 C++"<<endl;
cout<<"------------"<<endl;
cout<<"Isi vector : ";
for(int i = 0; i < vtr.size();
i++)
{
cout<<vtr[i]<<" ";
}
cout<<endl;
cout<<"\nUkuran
: "<<vtr.size()<<endl;
cout<<"Kapasitas
: "<<vtr.capacity()<<endl;
cout<<"Elemen terdepan
: "<<vtr.front()<<endl;
cout<<"Elemen terbelakang : "<<vtr.back()<<endl;
cout<<"Elemen ke-3
: "<<vtr.at(2)<<endl;
//////////////////////////////////////
//////////////////////////////////////
//RESIZE VECTOR
cout<<endl;
cout<<"\nRESIZE VECTOR"<<endl;
cout<<"-------------"<<endl;
//menambah ukuran vector menjadi 10 dan mengisi tiga
elemen tambahan dengan nilai 0
vtr.resize(10,0);
cout<<"Isi vector sekarang : ";
for(int i = 0; i < vtr.size();
i++)
{
cout<<vtr[i]<<" ";
}
cout<<endl;
cout<<"\nUkuran sekarang
: "<<vtr.size()<<endl;
cout<<"Kapasitas sekarang : "<<vtr.capacity()<<endl;
/////////////////////////////////////
/////////////////////////////////////
//Menghapus 5 elemen pertama
cout<<endl;
cout<<"\nMENGHAPUS LIMA ELEMEN PERTAMA"<<endl;
cout<<"-----------------------------"<<endl;
vtr.erase(vtr.begin(),
vtr.begin()+5);
cout<<"Isi vector sekarang : ";
for(int i = 0; i < vtr.size();
i++)
{
cout<<vtr[i]<<" ";
}
_getche();
return 0;
}
Output
VECTOR 2 C++
------------
Isi vector : 25 10 53 64 65 96 17
Ukuran : 7
Kapasitas : 7
Elemen terdepan : 25
Elemen terbelakang : 17
Elemen ke-3 : 53
RESIZE VECTOR
-------------
Isi vector sekarang : 25 10 53 64 65 96 17 0 0 0
Ukuran sekarang : 10
Kapasitas sekarang : 10
MENGHAPUS LIMA ELEMEN PERTAMA
-----------------------------
Isi vector sekarang : 96 17 0 0 0
Keterangan
push_back :
menambah elemen di akhir
pop_back : menghapus elemen terakhir
size : menampilkan jumlah
elemen pada vector
begin : mengembalikan iterator ke
awal vector
end : mengembalikan
iterator ke akhir vector
clear : menghapus isi
vector
capacity : menampilkan
jumlah elemen yang dapat ditampung oleh vector
front : mengakses elemen
pertama
back : mengakses elemen
terakhir
at : mengakses
elemen tertentu
erase : menghapus elemen
[RS]
Klik Like & Share jika postingan ini bermanfaat
Apa tanggapan Anda?
Berikan tanggapan Anda melalui kolom komentar yang telah disediakan.
- Gunakan bahasa yang sopan;
- Saat menjadikan postingan pada blog ini sebagai referensi, jangan lupa mencantumkan sumbernya (link dari blog ini).
Jika blog ini bermanfaat jangan lupa memberikan 'like' atau 'share' untuk mendapatkan update terbaru.
Terima kasih