Sıralama Algoritmaları Bubble Sort

0
2043
Sıralama Algoritmaları

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

Paylaşır mısınız?
Önceki İçerikJohn Forbes Nash Kimdir
Sonraki İçerikBarajlar ve Baraj Tipleri
Merhabalar.Ben Anıl.19 yaşındayım.Kastamonuluyum.Yıldız Teknik Üniversitesi Bilgisayar Programcılığı 2.sınıf öğrencisiyim.Her konuda yazabilirim.Fakat ağırlıklı olarak algoritma,programlama ve elektronik üzerine yazacağımı düşünüyorum.Saygılarımla...

Düşünceleriniz Nedir?