Ana SayfaAlgoritma ve ProgramlamaSıralama Algoritmaları Bubble Sort

Sıralama Algoritmaları Bubble Sort

Merhabalar arkadaşlar Sıralama Algoritmaları Bubble Sort ile devam ediyoruz. Geçen yazımda Linear Sort‘u ele almıştık.Bu yazımızda da Bubble Sort diğer bir deyişle Kabarcık Sıralamasını ele alacağız.

Bu algoritmanın adım adım işleyişine bir örnekle bakalım;

8 0 3 5 2 4 şeklindeki diziyi bubble sort ile sıralarsak,

1. Adim:
 8 0 3 5 2 4  --  0 8 3 5 2 4
 0 8 3 5 2 4  --  0 3 8 5 2 4
 0 3 8 5 2 4  --  0 3 5 8 2 4
 0 3 5 8 2 4  --  0 3 5 2 8 4 
 0 3 5 2 8 4  --  0 3 5 2 4 8 (8 dizideki en büyük eleman olarak bulundu ve en sona atıldı artık bu elemanı kontrol etmemizi gerektirecek bir şey yok.)
2. Adim:
 0 3 5 2 4 8  --  0 3 5 2 4 8
 0 3 5 2 4 8  --  0 3 5 2 4 8
 0 3 5 2 4 8  --  0 3 2 5 4 8
 0 3 2 4 5 8  --  0 3 2 4 5 8 (8 den sonraki en büyük 2. Eleman 5 olarak bulundu ve sondan2.sıraya yerleştirildi.)
3. Adim:
 0 3 2 4 5 8  --  0 3 2 4 5 8
 0 3 2 4 5 8  --  0 2 3 4 5 8
 0 2 3 4 5 8  --  0 2 3 4 5 8 (5 en sonraki en büyük eleman ise 4 olarak bulundu ve aynı şekilde 5 in hemen peşine atandı.)
4. Adim:
 0 2 3 4 5 8  --  0 2 3 4 5 8
 0 2 3 4 5 8  --  0 2 3 4 5 8 (4 den sonraki en büyük eleman 3 olarak belirlendi ve 4’ün peşine yerleştirildi.)
5. Adim:
 0 2 3 4 5 8  --  0 2 3 4 5 8 (3 den sonraki en büyük eleman olarak 2 bulundu ve 3 ün hemen peşine yerleştirildi.)

Bu şekilde sırasız olan dizimiz artık sıralanmış şekilde…

bubble_sort_animation (1)

Akış diyagramını incelersek;

bubble-sort

Ve c# kodlarını inceleyelim..

public void BubbleSort(int[] dizi) {
            int yedek;
            for (int i = 0; i <= dizi.Length - 1; i++)//dizinin son elemanını karşılaştırma durumumuz olmadığından dizinin sondan bir önceki elemanına kadar döngü kuracağız.
            {
                for (int j = 1; j <= dizi.Length - 1; j++)
                {
                    if (dizi[j-1] > dizi[j])//bir önceki eleman şimdiki elemandan büyük mü ?
                    {//evet ise yapılan işlemler
                        yedek= dizi[j-1];
                        dizi[j-1] = dizi[j];
                        dizi[j] = yedek;
                    }
                }
            }
}

Sıralama algoritmalarından biri olan Bubble Sort’u da inceledik.Sonraki yazılarımızda görüşmek üzere hoşçakalın…!

Konuk Yazar
Konuk Yazar
Konuk yazarlarımız tarafından sitemize yollanan yazılar bu hesaptan yayınlanmaktadır. İsimsiz yazı yayınlamak istiyorsanız iletişim bölümünden sizlerde yazılarınızı yollayabilirsiniz.
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments
Arıcılık Malzemeleri

Yeni Yazılar

Mühendislik Maaşları

Bunları Gördünüz mü?