Cet article présente principalement le tri à bulles, le tri par sélection et le tri par insertion de l'algorithme de tri JS. Il analyse les concepts, les principes et les méthodes de mise en œuvre du tri à bulles, du tri par sélection et du tri par insertion sous forme d'exemples. référez-vous à lui. Suivant
Les exemples de cet article décrivent les algorithmes de tri JS de tri à bulles, de tri par sélection et de tri par insertion. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Tri à bulles :
Comparez les données du tableau dans l'ordre entre deux adjacents. La taille du nombre.
Si les données précédentes sont supérieures aux données ultérieures, échangez les deux nombres.
Complexité temporelleO(n^2)
function bubble(array){ var temp; for(var i=0; i<arr.length; i++){ for(var j=0; j<arr.length; j++){ if(arr[j]>arr[j+1]){ temp = arr[j+1]; arr[j+1] =arr[j]; arr[j]=temp; } }console.log(arr); } }//冒泡排序
Tri de sélection :
Sélectionnez d'abord les plus petites données du tableau d'origine et échangez-les avec les données en position 1.
Sélectionnez les données les plus petites suivantes parmi les données n-1 restantes et échangez-les avec les données en deuxième position.
Répétez jusqu'à ce que les deux dernières données soient échangées.
Complexité temporelleO(n^2)
function selectionSort(array){ var min,temp; for(var i=0; i<array.length-1; i++){ min=i; for(var j=i+1; j<array.length; j++){ if(array[j]<array[min]){ min=j; } } swap(array,min,i); } console.log(array); }//选择排序 function swap(array,i,j){ var temp =array[i]; array[i]=array[j]; array[j]=temp; }//两个数字交换
Tri par insertion :
Comparez d’abord les deux premières données de petite à grande.
Comparez ensuite les troisièmes données avec les deux premières données disposées et insérez les troisièmes données dans la position appropriée. Et ainsi de suite.
(Le tri par insertion comporte deux boucles. La boucle externe déplace les tableaux un par un et la boucle interne compare l'élément sélectionné par la boucle externe avec le nombre qui le précède.)
Complexité temporelle O(n^2)
function insertSort(arr){ var temp, j; for(var i=1; i<arr.length; i++){ temp =arr[i]; j=i; while(j>0 && arr[j-1]>temp){ arr[j]=arr[j-1]; j--; } arr[j]=temp; } }
Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.
Articles connexes :
Le processus d'encapsulation et de soumission de données dans un formulaire
Enregistrement de l'occurrence d'éléments répétés dans JavaScript Times
Comment utiliser JQUERY pour implémenter plusieurs requêtes AJAX
Comment appeler vuex pour stocker les données d'interface dans vue.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!