Selection Sort, sıralama algoritmaları içerisinde basit yapısı ile herkes tarafından kolaylıkla kullanılabilecek bir yapıdır.
Selection Sort (Türkçe adıyla Seçerek Sıralama), bir dizi içerisindeki en küçük elemanı bularak sırası ile dizinin ilk elemanına atama işlemi yapar. Bu işlemi yaparken her adımda dizinin ilk elemanını dışarda bırakır. Yani mantıksal olarak düşünmemiz gerekirse dizinin 0. elemanını geri kalan elemanları ile kıyaslar ve en küçük elemanı bularak 0. eleman ile yer değiştirir. Sonra 0. eleman artık o dizideki en küçük eleman olduğu için bir sonraki adıma geçerken arama kısmını 1. elemandan başlatır. 1. elemanı dizinin 0. elemanı hariç tüm elemanları ile karşılaştırır ve en küçük eleman ile 1. elemanı yer değiştirir. Bu şekilde giderek dizinin tüm elemanlarını tarar ve sıralamış olur.
Videolu Anlatım
Görsel Anlatım
Görseli Orjinal Boyutuyla Görüntülemek İçin Tıklayın.
C++
#include <iostream>
using namespace std;
int main() {
int min, araciEleman;
int dizi[6] = {1,20,17,10,9,12};
for(int i=0; i<5; i++) {
min = i;
for(int j=i; j<6; j++) {
if(dizi[j] < dizi[min]) {
min = j;
}
}
araciEleman = dizi[i];
dizi[i] = dizi[min];
dizi[min] = araciEleman;
}
// Ekrana Yazdırma
for(int a=0; a<6; a++) {
cout << dizi[a] << "\t";
}
}
PHP
<?php
$dizi = array(1,20,17,10,9,12);
for($i=0; $i<5; $i++) {
$min = $i;
for($j=$i; $j<6; $j++) {
if($dizi[$j] < $dizi[$min]) {
$min = $j;
}
}
$araciEleman = $dizi[$i];
$dizi[$i] = $dizi[$min];
$dizi[$min] = $araciEleman;
}
// Ekrana Yazdırma
for($a=0; $a<6; $a++){
echo $dizi[$a]." ";
}
?>