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