Radix Sort Algoritması

UmpaLumpalar

Centipat
Katılım
8 Ocak 2022
Mesajlar
72
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar merhaba. Radix Sort algoritmasına çalışıyordum. Az önce aklımı bir yöntem geldi ve uyguladım. Gayet güzel bir şekilde işledi fakat bir sıkıntı var. Ben çok daha farklı bir mantık ile düşünmüşüm sanırım (aslında bu çoğu şeyde başıma geliyor). Kodumda veya mantığımdaki hatalar nelerdir? Farklı bir mantıkla yapmak sizce ne kadar doğru? Yardımcı olursanız çok sevinirim.

C++:
    int dizi[8] = { 9,1,73,12,45,187,1695,762 };

    int dizi_max = dizi[0];
    int dizi_max_basamak = 1;

    

    for (int i = 0; i < 8; i++)
    {
        if (dizi[i] > dizi_max)
        {
            dizi_max = dizi[i];
        }
    }

    
    for (int i = 1; i < dizi_max; i++)
    {
        if (dizi_max / 10 > 0)
        {
            dizi_max /= 10;
            dizi_max_basamak += 1;
        }
    }


    
    for (int i = dizi_max_basamak; i >= 1; i--)
    {
        for (int j = 0; j < 8; j++)
        {
            for (int k = 1; k < 8; k++)
            {
                if (dizi[k] / i*10 < dizi[k-1] / i*10)
                {
                    int temp;

                    temp = dizi[k - 1];
                    dizi[k - 1] = dizi[k];
                    dizi[k] = temp;
                }
            }
        }
    }

    for (int i = 0; i < 8; i++)
    {
        if (dizi[i] == dizi[7])
        {
            cout << dizi[i];
            break;
        }
        cout << dizi[i] << ",";
    }
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…