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] << ",";
    }
 

Yeni konular

Geri
Yukarı