C ++ Vektör nedir?
Bir C ++ VEKTÖR otomatik olarak yeniden boyutlandırma edebilen bir dinamik dizidir. Yeniden boyutlandırma, vektörden bir öğe eklendikten veya silindikten sonra gerçekleşir. Depo, konteyner tarafından otomatik olarak ele alınır. Bir vektörün elemanları bitişik depolamada saklanır. Bu, C ++ programcılarının yineleyiciler kullanarak vektör öğelerine erişmesine ve bunların üzerinden geçmesine olanak tanır.
Bir vektöre yeni verilerin eklenmesi, sonunda yapılır. Bu farklı bir zaman alır. Bir vektörden bir elemanın kaldırılması sabit zaman alır. Bunun nedeni, vektörü yeniden boyutlandırmaya gerek olmamasıdır. Vektörün başlangıcında bir elemanın eklenmesi veya silinmesi doğrusal zaman alır.
Bu C ++ Eğitiminde şunları öğreneceksiniz:
- C ++ Vektör nedir?
- Vektör Ne Zaman Kullanılır?
- C ++ 'da Vektörler Nasıl Başlatılır
- Yineleyiciler
- Değiştiriciler
- örnek 1
- Örnek 2
- Kapasite
- Örnek 3
Vektör Ne Zaman Kullanılır?
Aşağıdaki koşullar altında bir C ++ vektörü kullanılmalıdır:
- Sürekli değişen veri öğeleriyle uğraşırken.
- Başlamadan önce verilerin boyutu bilinmiyorsa, vektör, kabın maksimum boyutunu ayarlamanızı gerektirmez.
C ++ 'da Vektörler Nasıl Başlatılır
C ++ 'da vektörlerin sözdizimi şöyledir:
vectorname (items)
- Yukarıda gösterildiği gibi, vektör anahtar kelimesi ile başlıyoruz.
- Veri tipi, vektörde depolanacak elemanların veri tipidir.
- Ad, vektörün veya veri öğelerinin adıdır.
- Öğeler, vektörün verileri için öğe sayısını gösterir. Bu parametre isteğe bağlıdır.
Yineleyiciler
Yineleyicilerin amacı, bir vektörde depolanan öğelere erişmemize yardımcı olmaktır. İşaretçi gibi çalışan bir nesnedir. C ++ vektörleri tarafından desteklenen yaygın yineleyiciler şunlardır:
- vector :: begin (): vektörün ilk elemanına işaret eden bir yineleyici verir.
- vector :: end (): vektörün son-son elemanına işaret eden bir yineleyici verir.
- vector :: cbegin (): vector :: begin () ile aynıdır, ancak öğeleri değiştirme yeteneği yoktur.
- vector :: cend (): vector :: end () ile aynıdır ancak vektör elemanlarını değiştiremez.
Değiştiriciler
Değiştiriciler, belirtilen veri türünün anlamını değiştirmek için kullanılır. C ++ 'daki yaygın değiştiriciler şunlardır:
- vector :: push_back (): Bu değiştirici, elemanları arkadan iter.
- vector :: insert (): Belirli bir konumdaki bir vektöre yeni öğeler eklemek için.
- vector :: pop_back (): Bu değiştirici, vektör öğelerini arkadan kaldırır.
- vector :: erase (): Belirtilen konumdan bir dizi öğeyi kaldırmak için kullanılır.
- vector :: clear (): Tüm vektör elemanlarını kaldırır.
örnek 1
#include#include using namespace std;int main(){vector 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;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyasını ekleyin. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Vektör başlık dosyasını kodumuza ekleyin. C ++ 'da vektörlerle çalışmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını ekleyin.
- Program mantığının eklenmesi gereken main () işlevini çağırın.
- {, Main () işlevinin gövdesinin başlangıcını gösterir.
- Bir tam sayı kümesini depolamak için nums adlı bir vektör bildirin.
- Vektör üzerinde yineleme yapmamıza yardımcı olması için bir for döngüsü oluşturun. Değişken 1'den, vektör elemanları üzerinde bize iterate yardımcı olacaktır st 5'e inci elemanları.
- Öğeleri arkadan num vektörüne itin Her bir yineleme için bu, a değişkeninin geçerli değerini vektöre 1'den 5'e kadar ekleyecektir.
- Konsolda biraz metin yazdırın
- Başından son öğeye kadar vektör nums öğelerini yinelemek için bir yineleyici değişkeni a kullanın. Vector :: begin () ve vector :: end () yineleyicileri kullandığımıza dikkat edin.
- Her yineleme için konsolda yineleyici değişkeni an ile gösterilen değerleri yazdırın.
- Konsolda biraz metin yazdırın. \ N, imleci oradan yazdırmak için yeni satıra hareket ettiren yeni bir satır karakteridir.
- Başlangıçtan son öğeye kadar vektör nums öğelerini yinelemek için bir yineleyici değişkeni kullanın. Vector :: cbegin () ve vector :: cend () yineleyicileri kullandığımıza dikkat edin.
- Her yineleme için konsolda yineleyici değişkeni a ile gösterilen değerleri yazdırın.
- Program başarılı bir şekilde çalışırsa ana işlev bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Örnek 2
#include#include using namespace std;int main(){vector 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();}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için vektör başlık dosyasını kodumuza ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını dahil edin.
- Main () işlevini çağırın. Program mantığı kendi bünyesine eklenmelidir.
- Main () işlevinin gövdesinin başlangıcı.
- Bazı tamsayı değerlerini saklamak için nums adlı bir vektör bildirin.
- Vektör numaralarında 5 öğe saklayın. Her birinin değeri 1'dir.
- Konsolda biraz metin yazdırın
- Vektör nums öğeleri üzerinde yineleme yapmak için bir yineleyici değişkeni a kullanın.
- Her yineleme için konsolda vektör numaralarının değerlerini yazdırın.
- Nums vektörünün sonuna 2 değerini ekleyin.
- Vektör sayılarının boyutunu saklamak için bir tamsayı değişkeni n bildirin.
- Vektör numaralarının son değerini diğer metnin yanına yazdırın. 2 döndürmelidir.
- Son öğeyi vektör numaralarından kaldırın. 2 kaldırılacaktır.
- Konsola metin yazdırın. \ N, metni oraya yazdırmak için imleci yeni satıra taşır.
- Vektör nums öğeleri üzerinde yineleme yapmak için bir yineleyici değişkeni a kullanın.
- Her yineleme için konsolda vektör numaralarının değerlerini yazdırın.
- 7 değerini vektör nums başlangıcına ekleyin.
- Vektör numaralarının ilk değerini diğer metnin yanına yazdırın. 7 döndürmelidir.
- Vektör numaralarından tüm öğeleri silin.
- Tüm içeriği temizledikten sonra diğer metnin yanına vektör num boyutunu yazdırın. 0 döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Kapasite
Bir vektörün kapasitesini belirlemek için aşağıdaki işlevleri kullanın:
- Boyut () - Bir vektördeki öğelerin sayısını döndürür.
- Max_size () -Bir vektörün depolayabileceği en yüksek öğe sayısını döndürür.
- Kapasite () -Bir vektöre ayrılan depolama alanı miktarını döndürür.
- Resize () -Kabı n öğe içerecek şekilde yeniden boyutlandırır. Vektörün mevcut boyutu n'den büyükse, arka öğeler vektörden kaldırılacaktır. Vektörün mevcut boyutu n'den küçükse, vektörün arkasına fazladan öğeler eklenecektir.
- Boş () -i t, bir vektör boşsa doğru, aksi takdirde yanlış döndürür.
Örnek 3
#include#include using namespace std;int main() {vector 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"< Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için vektör başlık dosyasını kodumuza ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevini çağırın. Program mantığı bu işlevin gövdesine eklenmelidir.
- Tamsayıları saklamak için vector1 adlı bir vektör oluşturun.
- 1'den 10'a kadar değerlere sahip değişken x oluşturmak için bir for döngüsü kullanın.
- X değişkeninin değerlerini vektöre itin.
- Konsoldaki diğer metinlerle birlikte vektörün boyutunu yazdırın.
- Konsoldaki diğer metinlerle birlikte vektörün kapasitesini yazdırın.
- Konsoldaki diğer metinlerle birlikte vektörün tutabileceği maksimum öğe sayısını yazdırın.
- Vektörü yalnızca 5 öğeyi tutacak şekilde yeniden boyutlandırın.
- Vektörün yeni boyutunu diğer metnin yanına yazdırın.
- Vektörün boş olup olmadığını kontrol edin.
- Vektör boş değilse konsolda metin yazdırın.
- Vektör boşsa ne yapılacağını belirtmek için başka bir ifade kullanın.
- Vektör boşsa konsolda yazdırılacak metin.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlev gövdesinin sonu.
Özet:
- C ++ vektörü, kendisine bir öğe eklendiğinde veya silindiğinde kendisini otomatik olarak yeniden boyutlandırabilen dinamik bir dizidir.
- Bir vektör için depolama, konteyner tarafından otomatik olarak ele alınır.
- Bir vektörün elemanları, erişilmek üzere bitişik depolamada depolanır ve daha sonra yineleyiciler kullanılarak geçilir.
- Bir vektöre yeni verilerin eklenmesi, sonunda yapılır.
- Verilerin bir vektöre eklenmesi farklı bir zaman alır.
- Bir vektörden bir elemanın kaldırılması sabit zaman alır.
- Başlangıçta bir öğenin eklenmesi veya silinmesi doğrusal zaman alır.
- Sürekli olarak değişen veri unsurları ile uğraşırken vektörler kullanılmalıdır.
- Ayrıca, verilerin boyutu başlamadan önce bilinmiyorsa vektörleri kullanabilirsiniz.