
Bubble Sort algoritması (Kabarcık Sıralaması) nedir? Ne için kullanılır?
Bubble Sort algoritması nedir?
Bubble Sort bir sıralama algoritmasıdır. Basitçe özetlemek gerekirse ardışık olan 2 değeri birbiriyle kıyaslayıp sıralamasıyla ve bu işlemin sürekli tekrarlanmasıyla yapılır.
Bubble Sort algoritması adımları
Algoritma adımlarını şu şekilde gösterebiliriz.
- İlk 2 sayıyı al
- Bu 2 sayıyı karşılaştır
- Küçük olanı yaz diğerini aklında tut
- Dizinin sonuna geldiysen aklındaki sayıyı diziye yazarak bitir
- Dizinin sonu değilse yeni bir sayı al.
- 2. adıma geri git.
Bir örnek yapalım
Sıralamak istediğimiz dizi şu şekilde olsun:
- 5,7,2,9,6,1,3
İşlemlerimizi adım adım gerçekleştirelim.
1. adım: 5 – 2 – 7 – 6 – 1 – 3 – 9
2. adım: 2 – 5 – 6 – 1 – 3 – 7 – 9
3. adım: 2 – 5 – 1 – 3 – 6 – 7 -9
4. adım: 2 – 1 – 3 – 5 – 6 – 7 – 9
5. adım: 1 – 2 – 3 – 5 – 6 – 7 – 9
6. adım: 1 – 2 – 3 – 5 – 6 – 7 – 9
6. adımımızda dizimizi sıralı bir şekilde elde ediyoruz.
Kodlama
Python, Java ve C dillerinde ise şu şekilde yazabiliriz.
PYTHON
def bubbleSort(array):
n = len(array)
for i in range(n):
for j in range(n-1,0,-1):
if array[j-1] > array[j]:
temp = array[j-1]
array[j-1] = array[j]
array[j] = temp
return array
JAVA
public void BubbleSort(int [] Array)
{
int tmp;
for(int i=0; i<Array.length; i++) {
for(int j=Array.length-1 ; j>i;j--)
{
if(Array[j-1]>Array[j])
{
tmp=Array[j-1];
Array[j-1]=Array[j];
Array[j]=tmp;
}
}
}
}
C
void BubbleSort(int Array[], int n){
int tmp;
for(int i=0; i<n; i++) {
int sirali_mi = 1;
for(int j=n-1 ; j>i;j--)
{
if(Array[j-1]>Array[j])
{
sirali_mi = 0;
tmp=Array[j-1];
Array[j-1]=Array[j];
Array[j]=tmp;
}
}
if(sirali_mi)
break;
}
}





