>  기사  >  웹 프론트엔드  >  js에서 카운팅 정렬을 구현하는 방법

js에서 카운팅 정렬을 구현하는 방법

王林
王林앞으로
2020-04-01 09:17:592834검색

js에서 카운팅 정렬을 구현하는 방법

이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제