RSS Feed
Eyl 11

Sıralama Algoritmaları [2] : Bubble Sort

Cuma, Eylül 11, 2009 tarihinde yazıldı. Kategoriler : Algoritmalar, Java

Daha önceki yazılarımdan birinde(Selection Sort) sıralama algoritmalarına küçük bir giriş yapmıştım. Bu yazı da onun devamı niteliğinde olacak ama açıklama için yine işi daha iyi birilerine (Wiki) bırakacağım. Bubble sort için C/C++ ve Java’da yazdığım kodları yazmam yeterli olur sanırım.

Bu arada Java’da yazdığım kod sayısı 100 satırı geçti bunlarla birlikte :P “Hello World” un üstüne bayağı şey yapmışım demek ki :)

C/C++ Kodu :

void bubbleSort(int dizi[], int elemanSayisi)
{
     int temp;
     int i, j;

     for (i=1; i<elemanSayisi; i++)
     {
         for (j=0; j<elemanSayisi-i; j++)
         {
             if(dizi[j] > dizi[j+1])
             {
                        temp = dizi [j];
                        dizi [j] = dizi [j+1];
                        dizi [j+1] = temp;
             }
         }
     }
}

Java Kodu :

    public static void BubbleSort(int [] dizi)
    {
        int temp;   // Yer değiştirmede kullanılacak geçici değişken
        for (int i=1; i<dizi.length; i++)
        {
            for(int j=0; j<dizi.length-i; j++)
            {
                if (dizi[j] > dizi [j+1])
                {
                    temp = dizi [j];
                    dizi [j] = dizi [j+1];
                    dizi [j+1] = temp;
                }//Önce gelen elaman bir sonrakinden büyükse ikisi yer değiştiriyor
            }// Dizinin ardışık elamanlarını karşılaştırmak için kullandığımız döngü
        }// Her karşılaştırmadan sonra yeniden kaldığımız yerden devam etmemizi sağlayan döngü
    }