Maison > interface Web > js tutoriel > le corps du texte

Comment implémenter le tri rapide à l'aide de JavaScript (tutoriel détaillé)

亚连
Libérer: 2018-06-12 17:00:42
original
1471 Les gens l'ont consulté

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));
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!