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

王林
풀어 주다: 2020-04-01 09:17:59
앞으로
2915명이 탐색했습니다.

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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿