مرتبسازی انتخابی یکی از انواع الگوریتم مرتبسازی میباشد که جزو دستهٔ الگوریتمهای مرتبسازی مبتنی بر مقایسهاست.این الگوریتم دارای پیچیدگی زمانی از درجهٔ (O(n2 است که به همین دلیل اعمال آن روی مجموعهٔ بزرگی از اعداد کارا به نظرنمی رسدو به طور عمومی ضعیفتر از نوع مشابهش که مرتبساز درجی است عمل میکند.این مرتب سازی به دلیل سادگی اش قابل توجهاست.
/*
Sepehr Mohammad
www.SepehrM.com
*/
void selectionSort(int arr[], int len)
{
int i, j, minIndex, tmp;
for (i = 0; i < len - 1; i++)
{
minIndex = i;
for (j = i + 1; j < len; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
if (minIndex != i)
{
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}