Seçim (Selection) sıralaması, her yinelemede sıralanmamış bir listeden en küçük öğeyi seçen ve bu öğeyi sıralanmamış listenin başına yerleştiren bir sıralama algoritmasıdır.
Çalışma Mantığı
1.Adım: Dizinin ilk elemanı minimum olarak kabul edilir.
2. Adım: Minimum ile ikinci eleman karşılaştırılır. İkinci eleman minimumdan küçükse, ikinci elemanı minimum olarak atanır.
Minimum sayı ile üçüncü eleman karşılaştırılır. Üçüncü eleman daha küçükse minimum değeri üçüncü eleman atanır, aksi taksirde bir şey yapılmaz. İşlem son elemana kadar devam eder.
3. Adım: Her iterasyondan sonra minimum sıralanmamış listenin önüne yerleştirilir.
4.Adım: Her bir iterasyon için indeksleme ilk sıralanmamış elemandan başlar. Tüm elemanlar doğru konumlarına yerleştirilene kadar Adım 1 ve Adım 3 tekrarlanır.
Seçme Sıralama Algoritması Java Kodu İle
import java.util.Arrays; class SelectionSort { void selectionSort(int array[]) { int size = array.length; for (int step = 0; step < size - 1; step++) { int min_idx = step; for (int i = step + 1; i < size; i++) { if (array[i] < array[min_idx]) { min_idx = i; } } int temp = array[step]; array[step] = array[min_idx]; array[min_idx] = temp; } } public static void main(String args[]) { int[] data = { 20, 12, 10, 15, 2 }; SelectionSort ss = new SelectionSort(); ss.selectionSort(data); System.out.println("Artan şekilde sıralanmış dizi: "); System.out.println(Arrays.toString(data)); } }