Vektör (vector) standart isim uzayının (std::) bir parçasıdır ve aslında bir sınıf şablonudur. STL (Standart Şablon Kütüphanesi)’in bir üyesidir ve bir ardışık topluluk tur. Vektör bir dinamik dizi gerçeklemesidir, programlarda hemen hemen her tür veri tipi ya da nesneyi tutan bir dizi oluşturmak için kullanılabilir.
Vektör eski C stili diziler yerine, verileri dinamik olarak bir dizide tutmamız gereken ve bu dizilerin otomatik olarak genişleyip küçülmesi gerektiği durumlarda ideal bir seçim olacaktır. (Eski C stili diziler bunu yapamazlar)
VEKTÖR ÜYE FONKSİYONLARI
push_back() Veriyi vektörün arkasına ekler.
pop_back() Son elemanını vektörden çıkarır.
back() Vektördeki son elemanı döndürür.
swap() Vektördeki verilerin tümünü bir başa vektördekilerle yer değiştirir.
insert() Vektör içinde rastgele bir konuma bir eleman ekler veya çıkarır.
erase() Belirtilen konumdan bir eleman çıkarır.
size() Vektörün o anki değerini döndürür.
begin() Vektörün başlangıcını gösteren bir iteratör döndürür.
end() Vektörün sonunu gösteren bir iteratör döndürür.
template <class inter>-> start ve end tarafından tanımlanan vektörü sürece atar.
void assign(InIter start, InIter end);
template <class Size, class T>-> vektörü val değerindeki num elemanına atar.
void assign(Size num, const T &val=T());
reference at(size_type i);-> i tarafından belirtilen elemana referans döndürülür.
const_reference at(size_type i) const;
reference back();-> vektördeki son elemana referans döndürür.
const_reference back() const;
iteratör begin();->vektördeki ilk elemana iteratör döndürür.
const_iterator begin() const;
size type capacity() const;->vektörün o anki kapasitesini döndürür. Bu, bellekte daha fazla yer ayırmadan kaldırabileceği eleman sayısıdır.
void clear();-> vektörden tüm elemanları siler.
bool empty() const;-> uyarıcı vektör boşsa true aksi takdirde false döndürür.
iterator end();-> vektörün sonunu döndüren bir iterator döndürür.
const_iterator end() const;
iterator erase(iteratör i);-> i tarafından işaret edilen elemanı siler. Silinen elemandan sonraki elemanı gösteren bir iteratör döndürür.
iterator erase(iterator start, iterator end);-> start ile end arasındaki elemanları siler. Son silinen elemandan sonraki elemanı gösteren iterator döndürür.
reference front();->
vektörün ilk elemanını gösteren bir referans döndürür.
const_reference front() const;
allocator_type get_allocator() const;-> vektörün allocatorunu (yer ayırıcı) döndürür.
iteratör insert(iteratör i, const T &val=T());-> i tarafından belirlenen elemanın hemen öncesine val ekler.Elemanı gösteren bir işaretçi döndürür.
void insert(iterator i,size_type num, const T&val);-> i tarafından belirtilen elemanın hemen öncesine num sayıda val
ekler.
template<class InIter>
void insert(iterator i,InIter start, InIterend);-> i tarafından belirlenen elemanın hemen öncesine start ve end tarafından bir süreci (sequence) ekler.
size_type max_size() const;->
vektörün tutabileceği maximum eleman sayısını döndürür.
reference operator[](size_type i)const;-> i tarafından belirlenen elemanı gösteren bir referans döndürür.
void pop_back();->vektörün son elemanını atar.
void push_back(const T &val);-> vektörün sonuna val tarafından belirlenen değere sahip bir eleman ekler.
reverse_iterator rbegin();->vektörün başını gösteren ters bir iterator oluşturur.
reverse_iterator rend();->vektörün başını gösteren ters bir iterator oluşturur.
void reverse(size_type num);-> vektörün kapasitesini en az num’a eşit olacak şekilde ayarlar.
void resize(size_type num, T val =T());-> vektörün büyüklüğünü num tarafındanbelirlenen değere göre değiştirir. Vektörün uzatılması gerekirse num tarafından belirtilen değere sahip elemanlar sona eklenir.
size_type size() const;->vektörde o anda bulunan eleman sayısını döndürür.
void swap(vector<T, Allocator>&ob)-> uyarıcı vektörde saklanan elemanları ob’un içindekilerle değiştirir.
Örnek:
//iteratör kullanarak
vektörlere erişim
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>v;//sıfır
uzunluğunda vektör oluştur
int i;
//vektöre değer koy
for(i=0;i<10;i++)
v.push_back(i);
//vektörün içeriğine başvuru
operatörü ile erişim
for(i=0;i<10;i++)
cout<<v[i]<<” ”;
cout<<endl;
//iteratör ile erişim
vector<int>::iterator
p=v.begin();
while(p!=v.end())
{
cout<<*p<<” “;
p++;
}
return 0;
}
Programın çıktısı: