Maison >interface Web >js tutoriel >Comment implémenter le tri rapide à l'aide de JavaScript (tutoriel détaillé)
Cet article présente principalement la méthode JavaScript pour mettre en œuvre le tri rapide, et analyse les principes, les méthodes de mise en œuvre et les précautions de fonctionnement associées du tri rapide sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Le. les exemples de cet article décrivent comment implémenter le tri rapide en JavaScript. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Idéologie :
Utilisez l'idée diviser pour régner et la méthode récursive pour décomposer les données en plus petits dans l'ordre. Différentes sous-séquences de petits éléments et d'éléments plus grands
1 Sélectionnez un élément du tableau comme référence
2. le benchmark est déplacé vers la gauche du benchmark. Les éléments plus grands que le benchmark sont déplacés vers la droite du benchmark
3. Répétez les deux premières étapes pour les deux sous-ensembles à gauche et à droite du benchmark jusqu'à ce que un seul élément reste dans tous les sous-ensembles
Code d'implémentation :
function sqort(arr){ if(arr.length===0){ return []; } var left=[]; var right=[]; var pivot=arr[0];//(基准以首元素) for(var i=1;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return sqort(left).concat(pivot,qsort(right));//递归 } var a=[]; for (i=0;i<10;++i){ a[i]=Math.floor(Math.random()*100+1); } console.log(a); console.log(sqort(a)); //(基准以中间元素的情况) function sqort(arr){ if(arr.length<=1){ return arr; } var left=[]; var right=[]; var pivotIndex=Math.floor(arr.length/2); var pivot=arr.splice(pivotIndex,1)[0];//(基准以中间元素) for(var i=1;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return sqort(left).concat(pivot,sqort(right));//递归 } var a=[12,34,23,78,34,26]; console.log(a); console.log(sqort(a));
Ce qui précède est ce que j'ai compilé pour vous, j'espère que ce sera le cas. vous sera utile à l'avenir.
Articles associés :
Interprétation détaillée des éléments, composants, instances et nœuds dans React
Comment ajouter dynamiquement des données dans AngularJS et supprimer?
Quels sont les points de connaissances du mode strict JS qui seront expliqués en détail ?
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!