يقوم مبدأ خوارزمية الترتيب بالاختيار على البحث على العنصر الأصغر في المصفوفة ثم سحبه إلى بداية المصفوفة

بعدها ننتقل للخطوة التالية بالبحث على العنصر الأصغر التالي في المتبقي من المصفوفة وهكذا حتى تترتب كامل المصفوفة :

نشرح الخوارزمية بالاعتماد على المثال:

Array=[1,2,0,-3,3,-4,10]

first step :
least of [1,2,0,-3,3,-4,10]=-4   => swap 1,-4 
newArray=[-4,2,0,-3,3,1,10]

second step:
least of [2,0,-3,3,1,10]=-3 => swap 2 ,-3
newArray=[-4,-3,0,2,3,1,10]

3rd:
least of [0,2,3,1,10]=0 => Do nothing

4th:
least of [2,3,1,10]=1 =>swap 2,1
newArray=[-4,-3,0,1,3,2,10]

5th:
least of  [3,2,10]=2 => swap 2,3
newArray=[-4,-3,0,1,2,3,10]

6th:
least of[3,10]= 3 => Do Nothing

7th:
We Done

result=[-4,-3,0,1,2,3,10] 

كود بالجافا السكريبت للخوارزمية :

function selectionSort(array) {
let min=100000;
let temp=0;
for(let j=0;j<array.length;j++){
 min=array[j];
 temp=0;
  for (let i=j;i<array.length;i++){
    if(min>array[i]){
       min=array[i]
       temp=array[j]
       array[j]=array[i]
       array[i]=temp
       }
    }
  }
  // Only change code below this line
  return array;
  // Only change code above this line
}
console.log(selectionSort([0,2,-2,-9,10,2,0,-3]))

مخطط flowchart الخورازمية :