# 4.2 Vektörler (Vectors)

C++ dilinde vektörler, STL (Standard Template Library) içinde bulunan ve dinamik dizileri temsil eden veri yapılarıdır. Vektörler, sabit boyutlu dizilere kıyasla daha esnek bir yapı sunar, çünkü boyutları gerektiğinde otomatik olarak değiştirilebilir. Bu özellik, geliştiricilere veri yönetimi konusunda büyük bir kolaylık sağlar.

#### Vektörlerin Temel Özellikleri

1. **Dinamik Boyut**: Vektörler, başlangıçta belirli bir boyutta oluşturulabilir, ancak eleman ekledikçe otomatik olarak boyutlarını artırabilirler. Bu, sabit boyutlu dizilerde yaşanan bellek sorunlarını ortadan kaldırır.
2. **Rasgele Erişim**: Vektörler, diziler gibi elemanlara rasgele erişim sağlar. Bu, belirli bir indekste bulunan elemana doğrudan ulaşmayı mümkün kılar.
3. **Veri Tipi**: Vektörler, farklı veri türlerini tutabilir. Kullanıcı, oluştururken hangi veri tipini kullanacağını belirleyebilir.

#### Vektörlerin Kullanımı

C++'ta vektörler, `#include <vector>` ifadesi ile kullanılmaya başlanır. Aşağıda vektörlerin temel kullanımını gösteren örnekler bulunmaktadır.

**Vektör Oluşturma ve Eleman Ekleme**

```cpp
#include <iostream>
#include <vector>

int main() {
    // Vektör oluşturma
    std::vector<int> sayilar;

    // Eleman ekleme
    sayilar.push_back(5);
    sayilar.push_back(10);
    sayilar.push_back(15);

    // Elemanları yazdırma
    for (int i = 0; i < sayilar.size(); i++) {
        std::cout << "Eleman " << i << ": " << sayilar[i] << std::endl;
    }

    return 0;
}
```

**Vektör Boyutunu Öğrenme ve Eleman Silme**

```cpp
#include <iostream>
#include <vector>

int main() {
    // Vektör oluşturma
    std::vector<int> sayilar = {1, 2, 3, 4, 5};

    // Vektör boyutunu yazdırma
    std::cout << "Vektör boyutu: " << sayilar.size() << std::endl;

    // Son elemanı silme
    sayilar.pop_back();

    std::cout << "Silindikten sonra vektör boyutu: " << sayilar.size() << std::endl;

    return 0;
}
```

**Vektör Sıralama**

Vektörlerdeki elemanları sıralamak için `std::sort` fonksiyonu kullanılabilir.

```cpp
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    // Vektör oluşturma
    std::vector<int> sayilar = {4, 2, 5, 1, 3};

    // Sıralama
    std::sort(sayilar.begin(), sayilar.end());

    // Sıralı elemanları yazdırma
    std::cout << "Sıralı Vektör: ";
    for (int sayi : sayilar) {
        std::cout << sayi << " ";
    }

    return 0;
}
```

#### Sonuç

C++ vektörleri, dinamik boyutlandırma ve rasgele erişim imkanı gibi özellikleri sayesinde, verileri yönetmek için oldukça etkili bir araçtır. Vektörler, yazılım geliştirme sürecini kolaylaştırırken, esneklik ve performans sağlar. Bu nedenle, C++ ile programlama yaparken vektörleri sıkça kullanmak, yazılım geliştiriciler için önemli bir avantajdır.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/egitim/c-plus-plus/4.0-veri-yapilari-data-structures/4.2-vektorler-vectors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
