Seçmeli sıralama algoritma ve java kodları (Selection Sort)

Merhaba yazılım severler, bugün sizlere seçim sıralama algoritmasını göstereceğiz. Göstereceğimiz algoritma Java dilinde kodlanmıştır. Biz rastgele oluşturulmuş bir diziyi nasıl seçmeli sıralarız, bunu konuşacağız.

Seçmeli sıralama algoritması

Örnek dizimiz; 5,7,2,9,6,1,3,7

0. adım: başlangıç adımı i=0 olarak ata.

1. adım: dizideki i. sırasından sonraki en küçük sayının yerini bul. Bu dizideki en küçük sayı 1’dir ve 5. sıradadır.

2. adım dizinin i. sırasındaki sayıyı bu en küçük sayı ile yer değiştir: 1,7,2,9,6,5,3,7

3. adım : i’yi bir arttır ve 1. adıma git.

Dolayısıyla 3. adımdan sonra i=1 olacak ve sonra ilk sayı olan 1 atlanarak kalan sayılar olan 7,2,9,6,5,3,7 sayıları arasından en küçük sayı bulunur. Bu sayı 2’dir ve sırası da 2 dir. Sıradaki sayı olan yerdeki sayı ile yer değiştirir ve sonuç : 1,2,7,9,6,5,3,7 olarak bulunur.

Artık i değeri 2 dir ve bu sayıdan itibaren en küçük sayı 7,9,6,5,3,7 arasında aranır. Bulunan 3’ün sırası 6’dır. Bu sayı da sıradaki yerini alır ve sonuç : 1,2,3,9,6,5,7,7 olur. İşlem böyle devam eder ve aşağdaki gibi sıralanır.

1,2,3,5,9,6,7,7

1,2,3,5,6,9,7,7

1,2,3,5,6,7,9,7

1,2,3,5,6,7,7,9

olarak bulunur.

Java kodları

Rastgele 10 elemanlı bir dizi oluşturduk ve diziye 50’ye kadar olan sayıları atadık. Daha sonra seçmeli olarak sıraladık.

Not: Metot ile yapılmıştır.

Seçmeli sıralama Java
Seçmeli sıralama Java
Seçmeli sıralama Java
Seçmeli sıralama Java

Programın açık metot kısmı

public static int [] SelectionSort(int [] dizi)
  {
    int n = dizi.length;
    int temp;
    int minIndex;

    for(int i=0; i < n-1; i++)
    {
      minIndex=i;

      for(int j=i; j < n; j++)
      {
        if (dizi[j] < dizi[minIndex]){

          minIndex=j;
        }

      }
        temp=dizi[i];
        dizi[i]=dizi[minIndex];
        dizi[minIndex]=temp;
    }
    return dizi;
  }

Yukarıdaki kodda iki döngü iç içe yazılmıştır. İçteki döngü en küçük sayıyı bulur. Dıştaki döngü ise bu işlemin her seferinde yenilenmesi sağlar.

Java Seçmeli Sıralama videosu;

Yorumlar