이 글은 주로 몇 가지 일반적인 JS 정렬 코드의 구체적인 단계와 관련 작업 기술을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
4.2.1 버블 정렬
알고리즘 소개
분석:
두 개의 인접한 요소를 비교하여 전자가 후자보다 크면 위치를 바꿉니다.
첫 번째 라운드에서는 마지막 요소가 가장 큰 요소여야 합니다.
1단계의 방법에 따라 인접한 두 요소를 비교합니다. 이때 마지막 요소가 이미 가장 크기 때문에 마지막 요소를 비교할 필요가 없습니다.
js 코드 구현
function bubble_sort(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ var swap=arr[j]; arr[j]=arr[j+1]; arr[j+1]=swap; } } } } var arr=[3,1,5,7,2,4,9,6,10,8]; bubble_sort(arr); console.log(arr);
4.2.2 Quick sort
js 코드 구현
분석: Quick Sort는 첫 번째 정렬 단계에서 데이터가 두 부분, 한 부분으로 나누어집니다. 다른 부분의 모든 데이터는 더 작아야 합니다. 그런 다음 재귀적으로 호출하여 양쪽에서 빠른 정렬을 수행합니다.
function quick_sort(arr){ if(arr.length<=1){ return arr; } var pivotIndex=Math.floor(arr.length/2); var pivot=arr.splice(pivotIndex,1)[0]; var left=[]; var right=[]; for(var i=0;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return quick_sort(left).concat([pivot],quick_sort(right)); } var arr=[5,6,2,1,3,8,7,1,2,3,4,7]; console.log(quick_sort(arr));
4.2.3 삽입 정렬
알고리즘 소개
분석:
정렬되었다고 볼 수 있는 첫 번째 요소부터 시작
다음 요소를 꺼내고 정렬된 요소 순서에서 뒤로 이동 앞으로 스캔
정렬된 요소가 새 요소보다 크면 요소를 다음 위치로 이동합니다.
정렬된 요소가 새 요소보다 작거나 같은 위치를 찾을 때까지 3단계를 반복합니다.
새 요소를 다음 위치
2단계 반복
js 코드 구현
function insert_sort(arr){ var i=1, j,key,len=arr.length; for(;i<len;i++){ var j=i; var key=arr[j]; while(--j>-1){ if(arr[j]>key){ arr[j+1]=arr[j]; }else{ break; } } arr[j+1]=key; } return arr; } insert_sort([2,34,54,2,5,1,7]);
위 내용은 JS에서 몇 가지 일반적인 정렬 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!