분류
javascript
쉘 정렬을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램을 작성하십시오.
본문
설명 :
Wikipedia "Shell sort 또는 Shell의 방법에 따르면, in-place 비교 정렬이며, Exchange (버블 정렬) 또는 삽입 (정렬 정렬)을 기준으로 정렬하여 일반화 된 것으로 볼 수 있습니다. 이 방법은 서로 멀리 떨어져있는 요소 쌍을 정렬 한 다음 비교할 요소 간의 간격을 점차 축소하여 시작합니다. 아주 멀리 떨어져있는 요소로 시작하면 일부 가장 가까운 요소를 가장 가까운 가장 가까운 이웃 교환기보다 더 빨리 위치시킬 수 있습니다. "
코드 :
function shellSort(arr) {
var increment = arr.length / 2;
while (increment > 0) {
for (i = increment; i < arr.length; i++) {
var j = i;
var temp = arr[i];
while (j >= increment && arr[j-increment] > temp) {
arr[j] = arr[j-increment];
j = j - increment;
}
arr[j] = temp;
}
if (increment == 2) {
increment = 1;
} else {
increment = parseInt(increment*5 / 11);
}
}
return arr;
}
console.log(shellSort([3, 0, 2, 5, -1, 4, 1]));
결과 :
-1,0,1,2,3,4,5
- 이전글Bubble 정렬을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램 작성 17.12.30
- 다음글선택 정렬 알고리즘을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램을 작성하십시오. 17.12.30