4.3 Listeler (Lists)

C++ dilinde listeler, STL (Standard Template Library) içinde bulunan ve veri elemanlarını sıralı bir şekilde saklayan dinamik veri yapılarıdır. Listeler, dizi veya vektörlere benzer bir yapı sunar, ancak eleman ekleme ve silme işlemlerinde daha fazla esneklik sağlar. Liste veri yapısı, her bir elemanın bir sonrakine işaret ettiği düğümlerden oluşur. Bu yapı, belirli bir elemanın yerini değiştirmeden veya diğer elemanları etkilemeden kolayca eklenmesini ve çıkarılmasını sağlar.

Listelerin Temel Özellikleri

  1. Dinamik Boyut: Listeler, eleman eklendikçe veya silindikçe boyutlarını otomatik olarak ayarlayabilir.

  2. İki Yönlü Bağlı Liste: C++ listeleri, her bir düğümün bir sonraki ve bir önceki düğümü işaret etmesine olanak tanır, bu da onları iki yönlü bağlı liste olarak tanımlar. Bu özellik, liste üzerinde geri yönde de gezinmeyi mümkün kılar.

  3. Rasgele Erişim Yok: Listelerde dizilere veya vektörlere göre rasgele erişim yoktur. Elemanlara erişmek için sıralı olarak geçmek gerekir.

Listelerin Kullanımı

C++'ta listeler, #include <list> ifadesi ile kullanılmaya başlanır. Aşağıda listelerin temel kullanımını gösteren örnekler bulunmaktadır.

Liste Oluşturma ve Eleman Ekleme

#include <iostream>
#include <list>

int main() {
    // Liste oluşturma
    std::list<int> sayilar;

    // Eleman ekleme
    sayilar.push_back(10);  // Listenin sonuna ekleme
    sayilar.push_back(20);
    sayilar.push_front(5);  // Listenin başına ekleme

    // Elemanları yazdırma
    std::cout << "Liste Elemanları: ";
    for (int sayi : sayilar) {
        std::cout << sayi << " ";
    }

    return 0;
}

Eleman Silme

Listelerde eleman silmek için pop_back() veya pop_front() gibi yöntemler kullanabilirsiniz.

#include <iostream>
#include <list>

int main() {
    // Liste oluşturma
    std::list<int> sayilar = {1, 2, 3, 4, 5};

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

    // İlk elemanı silme
    sayilar.pop_front();

    // Kalan elemanları yazdırma
    std::cout << "Silindikten sonra Liste Elemanları: ";
    for (int sayi : sayilar) {
        std::cout << sayi << " ";
    }

    return 0;
}

Liste Boyutunu Öğrenme

Listelerin boyutunu öğrenmek için size() fonksiyonu kullanılabilir.

#include <iostream>
#include <list>

int main() {
    // Liste oluşturma
    std::list<int> sayilar = {1, 2, 3, 4, 5};

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

    return 0;
}

Sonuç

C++ listeleri, dinamik veri yönetimi konusunda esneklik sağlayarak, veri elemanlarını sıralı bir şekilde saklamanın etkili bir yolunu sunar. Eleman ekleme ve silme işlemleri, listeler üzerinde kolayca gerçekleştirilebilir.

Last updated