Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Uygulanmasi en basit olan siralama algoritmasidir.
Dizilerin elemanlarini birbiriyle karsilastirip büyüklügüne göre yer degistirme yapar.
Bir örnek üzerinde inceleyecek olursak:
Örnegimizde küçükten büyüge siralama yapacagiz.
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 elemaninin en büyük oldugunu bulduk ve dizinin son elemani olarak atadik. Bundan sonra bu elemani kontrol etmeyecegiz)
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 (5 elemaninin kendinden önceki elemanlardan büyük oldugunu bulduk ve sondan 2. siraya yerlestirdik)
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 (4 elemaninin kendinden önceki elemanlardan büyük oldugunu bulduk ve sondan 3. siraya yerlestirdik)
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 (3 elemaninin kendinden önceki elemanlardan büyük oldugunu bulduk ve sondan 4. siraya yerlestirdik)
5. Adim:
0 2 3 4 5 8 -- 0 2 3 4 5 8 (2 elemaninin kendinden önceki elemanlardan büyük oldugunu bulduk ve sondan 5. siraya yerlestirdik)
C# kodu asagidaki gibidir:
public void BubbleSort(int[] dizi)
{
int gecici;
for (int i = 0; i <= dizi.Length - 1; i++)
{
for (int j = 1; j <= dizi.Length - 1; j++)
{
if (dizi[j - 1] > dizi[j])
{
gecici = dizi[j - 1];
dizi[j - 1] = dizi[j];
dizi[j] = gecici;
}
}
}
}
veya
public void BubbleSort2(int[] dizi)
{
int[] dizi = { 8, 0, 3, 5, 2, 4 };
int gecici;
for (int i = dizi.Length - 1; i >= 0; i--)
{
for (int j = 1; j <= dizi.Length - 1; j++)
{
if (dizi[j - 1] > dizi[j])
{
gecici = dizi[j - 1];
dizi[j - 1] = dizi[j];
dizi[j] = gecici;
}
}
}
}
Veysel Ugur KIZMAZ