분류
javascript
칵테일 셰이커 정렬을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램을 작성하십시오.
본문
설명 :
칵테일 셰이커 정렬 (양방향 버블 정렬, 칵테일 정렬, 셰이커 정렬, 리플 정렬, 셔플 정렬 또는 셔틀 정렬이라고도 함)은 안정된 정렬 알고리즘과 비교 정렬 인 버블 정렬의 변형입니다. 알고리즘은 버블 정렬과 달리 목록을 통과 할 때마다 양방향으로 정렬됩니다. 이 정렬 알고리즘은 버블 정렬보다 구현하기가 조금 더 어렵고 버블 종류의 거북 문제를 해결합니다. 그것은 단지 최소한의 성능 향상을 제공하고 점근 적 성능을 향상시키지 않습니다. 버블 정렬과 마찬가지로, 교육에 일부 용도가 있음에도 불구하고 실제로 관심이 없습니다.
코드 :
function Cocktail_sort(arr)
{
var swapped;
do {
for(var i = 0; i < arr.length - 2; i++) {
if(arr[i] > arr[i+1]) {
var temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
swapped = true;
}
}
if(!swapped) {
break;
}
swapped = false;
for( i = arr.length - 2; i > 0; i--) {
if(arr[i] > arr[i+1]) {
var temp1 = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp1;
swapped = true;
}
}
} while(swapped);
return arr;
}
var test_arr = [3, 0, 2, 5, -1, 4, 1];
console.log(Cocktail_sort(test_arr));
결과 :
-1,0,1,2,3,4,5
- 이전글빗 정렬을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램 작성 17.12.30
- 다음글Bubble 정렬을 사용하여 요소 목록을 정렬하는 JavaScript 프로그램 작성 17.12.30