مرتب سازی انتخابی یا Selection Sort یکی از ساده ترین روش های مرتب سازی یک آرایه یا لیست است. اگر لیست مورد نظر برای مرتب سازی در این روش دارای n عضو باشد، در حالت کلی تعداد n² مقایسه مورد نیاز است و n بار نیز جابه جایی صورت می گیرد.
در این الگوریتم ابتدا کوچکترین عضو لیست جست و جو و به خانه اول لیست آورده شده، سپس دومین عضو کوچک جست و جو شده و به خانه ی دوم لیست آورده می شود و این روال تا رسیدن به خانه ی آخر لیست (مرتب شدن کامل لیست) ادامه پیدا می کند. یعنی در هر بار به دنبال کوجکترین عضو از باقی مانده ی لیست هستیم و آن را در مکان مناسب قرار می دهیم. پیاده سازی این الگوریتم بسیار ساده است ولی در حالت کلی سرعت الگورینم برای لیست های بزرگ مناسب نیست. در زیر پیاده سازی این الگوریتم در زبان C++ را مشاهد می کنید.
min : کوچکترین عضو لیست.
index : شماره خانه ی کوچکترین عضو لیست.
List : آرایه ی مرتب نشده ورودی.



int min = 0;
int index = 0;
for (int i=0; i < List - > Length - 1; i++)
{
   min = List[i];
   index = i;
   for (int j=i+1; j < List - > Length; j++)
   {
 
if (List[j] < min)
{
min = List[j];
index = j;
}
   }
   List [index] = List[i];
   List[i] = min;

}