Menu
Coddy logo textTech

Özyinelemeye Giriş

Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 45 / 56.

Özyineleme (Recursion), bir fonksiyonun bir problemi çözmek için kendisini çağırdığı bir programlama tekniğidir. Döngüleri kullanmak yerine, özyinelemeli fonksiyonlar, karmaşık problemleri doğrudan çözülebilen basit bir duruma ulaşana kadar daha küçük ve benzer alt problemlere böler.

Her özyinelemeli işlevin iki temel bileşeni olmalıdır. Temel durum, özyinelemeyi durduran bir koşuldur; bu koşul olmadan işlev kendisini sonsuza dek çağırırdı. Özyinelemeli adım, işlevin kendisini değiştirilmiş parametrelerle çağırdığı ve her çağrıda temel duruma biraz daha yaklaştığı bölümdür.

İşte özyinelemeyi (recursion) gösteren basit bir geri sayım örneği:

void countdown(int n) {
    if (n <= 0) {           // Temel durum: n 0'a ulaştığında dur
        std::cout << "Done!" << std::endl;
        return;
    }
    
    std::cout << n << std::endl;
    countdown(n - 1);       // Özyinelemeli adım: n-1 ile çağır
}

countdown(3) fonksiyonunu çağırdığınızda, 3 yazdırır, ardından 2 yazdıran countdown(2) fonksiyonunu çağırır, sonra countdown(1) fonksiyonunu çağırır ve temel duruma ulaşana kadar bu şekilde devam eder. Her fonksiyon çağrısı, bitmeden önce bir sonrakinin tamamlanmasını bekler ve sonunda orijinal çağırana geri dönen bir çağrı zinciri oluşturur.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online C++ derleyicisi