분류 javascript

선택 정렬 알고리즘을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램을 작성하십시오.

컨텐츠 정보

  • 조회 983 (작성일 )

본문

설명 :

선택 정렬은 목록을 통과 할 때마다 하나의 교환을 만들어서 버블 정렬을 향상시킵니다.


코드 :

// Selection sort with O(n^2) time complexity

function Selection_Sort(arr, compare_Function) {

  function compare(a, b) {
   return a - b;
   } 
  var min = 0;
  var index = 0;
  var temp = 0;

 //{Function} compare_Function Compare function
  compare_Function = compare_Function || compare;

  for (var i = 0; i < arr.length; i += 1) {
    index = i;
    min = arr[i];

    for (var j = i + 1; j < arr.length; j += 1) {
      if (compare_Function(min, arr[j]) > 0) {
        min = arr[j];
        index = j;
      }
    }

    temp = arr[i];
    arr[i] = min;
    arr[index] = temp;
  }

  //return sorted arr
  return arr;
}

console.log(Selection_Sort([3, 0, 2, 5, -1, 4, 1], function(a, b) { return a - b; })); 
console.log(Selection_Sort([3, 0, 2, 5, -1, 4, 1], function(a, b) { return b - a; }));


결과 : 

-1,0,1,2,3,4,5

5,4,3,2,1,0,-1