Counting Sort algoritması nasıl olmalı?

UmpaLumpalar

Centipat
Katılım
8 Ocak 2022
Mesajlar
72
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar. Counting Sort'un alttaki iki tane for döngüsü kafama yatmadı. Neden yaptık? İlk iki döngüyü yaptıktan sonra zaten elimizde hazır bir C dizisi oluyor. Bu C dizisinde hangi elemandan kaç tane olduğu yazıyor. Direkt olarak yazdırsak daha mantıklı değil mi?
Java:
public static void countingsort(int[]A, int[]B, int k)
{
   int C[]=new int[k]; // sayma dizisi oluşturuluyor
   int i;
   int j;

   for(i=0; i<k; i++)
   {
      C[i]=0;
   }
   for(j=0; j<A.length; j++)
   {
      C[A[j]]=C[A[j]]+1 ;
   }
   for(i=1; i<k; i++)
   {
      C[i]=C[i]+C[i-1];
   }
   for(j=0; j<A.length; j++)
   {
      B[C[A[j]]]=A[j];
      C[A[j]]=C[A[j]]-1;
   }
}
(A dizisi sıralanacak dizimiz, B dizimiz sonuçların dizildiği dizi, C dizisi ise sayıları saydığımız dimi. K ise en büyük değerimiz)
 

Geri
Yukarı