설명 :
삽입 정렬은 한 번에 한 항목씩 최종 정렬 된 배열 (또는 목록)을 작성하는 간단한 정렬 알고리즘입니다. quicksort, heaport 또는 병합 정렬과 같은 고급 알고리즘보다 큰 목록에서 훨씬 효율적이지 않습니다.
코드 :
function insertion_Sort(arr)
{
for (var i = 1; i < arr.length; i++)
{
if (arr[i] < arr[0])
{
//move current element to the first position
arr.unshift(arr.splice(i,1)[0]);
}
else if (arr[i] > arr[i-1])
{
//leave current element where it is
continue;
}
else {
//find where element should go
for (var j = 1; j < i; j++) {
if (arr[i] > arr[j-1] && arr[i] < arr[j])
{
//move element
arr.splice(j,0,arr.splice(i,1)[0]);
}
}
}
}
return arr;
}
console.log(insertion_Sort([3, 0, 2, 5, -1, 4, 1]));
결과 :
-1,0,1,2,3,4,5
등록된 댓글이 없습니다.