Programlama

C Programlama Dili ile Bubble Sort

Bubble Sort

Herkese merhaba. Bu gün yazımızda sizlere oldukça popüler bir sıralama algoritması olan Bubble Sort sıralama algoritmasını anlatıp C ile Bubble Sort algoritmasını göstereceğim

via GIPHY

SIRALAMA ALGORİTMALARI NE İÇİN KULLANILIR?

Sıralama algoritmaları verilen verileri(bu yazımızda sayıları) sıralamaya yarayan algoritmalardır. İster küçükten büyüğe, ister büyükten küçüğe sıralansın. Bu yazdığınız koda bağlıdır ama biz bu yazımızda küçükten büyüğe sıralıyoruz. Peki diğer sıralama algoritmaları neler? Bir kaçını aşağıya bırakıyorum.



  • Insertion Sort
  • Selection Sort
  • Quick Sort

BUBBLE SORT ALGORİTMASI NEDİR?

Bubble Sort Algoritmasında sıralamak istediğiniz bütün veriler sırasıyla birbirleriyle karşılaştırılır. Küçükten büyüğe sıraladığımızı düşünürsek ilk eleman ikinci elemanla karşılaştırılır ve eğer büyükse yerleri değiştirilir. Büyük olmadığı durumlarda ise döngü bir sonraki ikiliyi karşılaştırır, yani üçüncü elemanla ikinci elemanı karşılaştırır. İlk tur bittiğinde ise başa dönülür ve sondan bir önceki sayıya kadar baştan karşılaştırır ve bu böyle gider ta ki sayılar küçükten büyüğe sıralanana kadar. Baştan sona karşılaştırma sırasında sonu hep bir indis küçülür. Çünkü en büyük sayı en sona gitmiştir, artık onu karşılaştırmaya gerek yoktur.

via Gfycat

C PROGRAMLAMA DİLİ İLE BUBBLE SORT

Aşağıda Bubble Sort sıralama algoritmasının C programlama dili ile yazılmış kodlarını göreceksiniz. Sizde kodlardan yararlanarak Bubble Sort algoritmasını kullanabilir ve programlamada bir adım daha ilerleyebilirsiniz.



#include <stdio.h>
void BubbleSort(int dizi[], int n){
    int i, j, t;
    for(i = n – 1; i > 0; i–){
        for(j = 0; j < i; j++){
            if(dizi[j] > dizi[j + 1]){
                t = dizi[j];
                dizi[j] = dizi[j + 1];
                dizi[j + 1] = t;
            }
        }
    }
}
int main(){
int dizi[] = {1, 4, 5, 2, 40, 90, 3};
int i, n;
n = sizeof(dizi) / sizeof(dizi[0]);
    BubbleSort(dizi, n);
    for(i = 0; i < n; i++){
        printf(“%d\n”, dizi[i]);
    }
}

Bu kod tamamen eğitim amaçlı yazılmıştır. Yukarıdaki kodu kopyalamak sizi bir programcı yapmaz!

Bir sonraki yazımızda başka kodlarla görüşmek üzere.

Etiketler

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close

Adblock Algılandı

Bize destek olmak için lütfen reklam engelleyicinizi sitemizde devredışı bırakın.