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…!

Bugra Alkan
Bugra Alkan
YTU Elektrik Mühendisliği eğitimini aldıktan sonra Rusya'da Nükleer Enerji Mühendisliğine devam etmekteyim. İngilizce ve Rusça bilmekteyim. Bilimsel ve teknik çevirilerimi sizler ile paylaşacağım.
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
Tüm yorumları göster
Arıcılık Malzemeleri

Yeni Yazılar

Mühendislik Maaşları

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