3 Haziran 2016 Cuma
-C++ Vektör(vector) Kullanımı-
Merhabalar,
C++'da dinamik dizi kullanımı için "vector" sınıfı tercih edilebilir.
Bu sınıf her türden veri ya da nesne tutabilir. Ayrıca dinamik yapısı itibariyle
eleman eklendikçe otomatik olarak dizi boyutu büyür. Dolayısıyla C stili eski tip
diziler yerine vector kullanmak iyi bir seçim olacaktır.
vector sınıfı içerisinde yer alan bazı fonksiyonlara aşağıda yer verilmişir.
-push_back()
Veriyi dizinin sonuna ekler.
-pop_back()
Vektörün sahip olduğu son elemanı çıkarır.
-back()
vektörün son elemanını döndürür.
-swap()
Tüm vektör içeriğini başka bir vektöre aktarır.
-insert()
Vektör içine belirtilen bir konuma eleman ekler veya çıkarır.
-erase()
Vektör içinde belirtilen bir konumda bulunan elemanı çıkarır.
-size()
Vektör boyutunu döndürür.
-begin()
Vektör başlangıcını gösterir.
-end()
Vektör sonunu gösterir.
-clear()
Vektör içeriğini siler.
Vector sınıfını kullanabilmek için "using namespace std;" tanımlanmalıdır.
int türden bir vector dizi kullanımına aşağıda yer verilmiştir.
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> vect_array(10);//default olarak 10 eleman kapasiteli.
for(unsigned i= 0; i<vect_array.size(); i++)
{
std::cout << " " << vect_array[i];
}
return 0;
}
Çıktı:
0 0 0 0 0 0 0 0 0 0
Vektör içeriğine tanımlama esnasında eleman ekleme:
int main()
{
vector<int> vect_array(10,5); //10 elemanlı dizi boyutu ve her eleman için 5 değeri.
for(unsigned i= 0; i<vect_array.size(); i++)
{
std::cout << " " << vect_array[i];
}
return 0;
}
Çıktı:
5 5 5 5 5 5 5 5 5 5
Vektör içeriğine eleman ekle,çıkar ve swap kullanımı:
int main()
{
vector<int> vect_array(10,5);
//belirtilen bir konuma eleman ekle:
vector<int>::iterator it = vect_array.begin() + 2;//başlangıçtan itibaren iki ileri.
vect_array.insert(it,66);//ekle.
//dizi sonuna eleman ekle:
vect_array.push_back(21);
vect_array.push_back(22);
vect_array.push_back(23);
//ekrana yazdır:
for(unsigned i= 0; i<vect_array.size(); i++)
{
cout << " " << vect_array[i];
}
cout << "\n";
//dizi içerisinden eleman çıkar:
it = vect_array.begin() + 2;
vect_array.erase(it);
//ekrana yazdır:
for(unsigned i= 0; i<vect_array.size(); i++)
{
cout << " " << vect_array[i];
}
cout << "\n";
//swap kullanımı:
vector<int> vect_array2(13,0);
vect_array.swap(vect_array2);
//ekrana yazdır:
for(unsigned i= 0; i<vect_array.size(); i++)
{
cout << " " << vect_array2[i];
}
return 0;
}
Çıktı:
5 5 66 5 5 5 5 5 5 5 5 21 22 23
5 5 5 5 5 5 5 5 5 5 21 22 23
5 5 5 5 5 5 5 5 5 5 21 22 23
vector ile "fill" fonksiyonu kullanımı.
int main()
{
vector<int> vect_array(10,0);
//dizi başından itibaren 4 adet 8 değerinde eleman ekle:
fill_n(vect_array.begin(),4,8);
for(unsigned i=0; i<vect_array.size();i++)
{
cout << " " << vect_array[i];
}
cout << "\n";
//dizinin ilk 3 elemanından sonra 2 adet 7 değeri eleman ekle:
fill_n(vect_array.begin() + 3,2,7);
for(unsigned i=0; i<vect_array.size();i++)
{
cout << " " << vect_array[i];
}
return 0;
}
Çıktı:
8 8 8 8 0 0 0 0 0 0
8 8 8 7 7 0 0 0 0 0
İyi çalışmalar.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder