이 글에서는 js(업그레이드 버전)에서 카운팅 정렬을 구현하는 방법을 소개합니다.
원래 카운팅 정렬, 버킷의 볼륨에는 최소값부터 최대값까지 가능한 모든 숫자를 포함할 수 있는 숫자가 필요합니다. 여기서는 객체의 자동 정렬과 동일한 속성 이름을 가진 키-값 쌍을 가질 수 없다는 점을 활용하여 버킷을 객체로 대체할 수 있습니다. 순서가 지정된 볼륨 버킷은 필요 없으며 키-값 쌍만 추가하면 됩니다. 마음대로. 코드는 다음과 같습니다
var ary=[23,14,12,24,53,31,53,35,46,12,62,23]
코드 예시는 다음과 같습니다.
function countSort(arr){ let obj={}; //遍历原数组,给对象新增键值对,如果已经存在就对应的属性值++,如果不存在则新增键值对 for(let i=0;i<arr.length;i++){ if(!obj[arr[i]]){ obj[arr[i]]=1; }else{ obj[arr[i]]++; } } let index=0; //遍历对象属性名,按顺序放回覆盖原数组 for(let key in obj){ while(obj[key]>0){ arr[index]=Number(key); obj[key]--; index++ } } return arr; } console.log(countSort(ary));
관련 튜토리얼 권장 사항:js tutorial
위 내용은 js에서 카운팅 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!