Maison >interface Web >js tutoriel >Comment implémenter le tri par comptage en js

Comment implémenter le tri par comptage en js

王林
王林avant
2020-04-01 09:17:592935parcourir

Comment implémenter le tri par comptage en js

Cet article présente la méthode d'implémentation du tri par comptage dans js (version mise à niveau)

Tri par comptage original, le volume du seau doit être celui qui peut contenir tout occurrences possibles de la valeur minimale au nombre de valeur maximale. Ici, nous pouvons remplacer le compartiment par un objet, en profitant du tri automatique des objets et de l'impossibilité d'avoir des paires clé-valeur avec le même nom d'attribut. Nous n'avons pas besoin d'un compartiment de volume ordonné et pouvons simplement ajouter des paires clé-valeur. à volonté. Le code est le suivant

var ary=[23,14,12,24,53,31,53,35,46,12,62,23]

L'exemple de code est le suivant :

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));

Tutoriels associés recommandés : tutoriel js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer