Este artigo compartilha com você o algoritmo de classificação comumente usado para a implementação do JS, o conteúdo específico é o seguinte
1. Classificação de bolhas
var bubblesort = function (arr) {var sinalizador = true; var len = arr.length; for (var i = 0; i <len - 1; i ++) {flag = true; for (var j = 0; j <len - 1 - i; j ++) {if (arr [j]> arr [j+1]) {var temp = arr [j+1]; arr [j+1] = arr [j]; arr [j] = temp; bandeira = false; }} if (flag) {break; }}};2. Selecione Classificação
var selectSort = function (arr) {var min; for (var i = 0; i <arr.Length-1; i ++) {min = i; for (var j = i+1; j <arr.length; j ++) {if (arr [min]> arr [j]) {min = j; }} if (i! = min) {swap (arr, i, min); }}}; swap function (arr, index1, index2) {var temp = arr [index1]; arr [index1] = arr [index2]; arr [index2] = temp;};3. Insira classificação
var insertSort = function (arr) {var len = arr.length, key; for (var i = 1; i <len; i ++) {var j = i; chave = arr [j]; while (--j> -1) {if (arr [j]> key) {arr [j + 1] = arr [j]; } else {break; }} arr [j + 1] = key; }};4
var shellSort = function (arr) {var gaps = [5, 3, 1]; for (var g = 0; g <gaps.length; ++ g) {for (var i = laps [g]; i <arr.length; ++ i) {var temp = arr [i]; for (var j = i; j> = laps [g] && arr [j - laps [g]]> temp; j - = laps [g]) {arr [j] = arr [j - laps [g]]; } arr [j] = temp; }}};5. Pedido
Função Mergesort (arr) {if (arr.length <2) {return; } var etapa = 1; Var esquerda, direita; while (etapa <arr.length) {esquerda = 0; direita = etapa; while (direita + etapa <= arr.length) {MerGearRays (arr, esquerda, esquerda + etapa, direita, direita + etapa); Esquerda = direita + etapa; direita = esquerda + etapa; } if (direita <arr.length) {MergearRays (arr, esquerda, esquerda + etapa, direita, arr.length); } passo *= 2; }} função MerGearRays (arr, Startleft, Stopleft, StarTright, Stopright) {var rightarr = nova matriz (Stopright - StarTright + 1); var de LefTARR = novo array (Stopleft - Startleft + 1); k = StarTright; for (var i = 0; i <(rightr.Length - 1); ++ i) {rightarr [i] = arr [k]; ++ k; } k = Startleft; for (var i = 0; i <(LefTArr.Length - 1); ++ i) {leftarAr [i] = arr [k]; ++ k; } rightarr [rightr.length - 1] = infinito; // Sentinel Value LeateTR [LefTarr.Length - 1] = infinito; // Valor Sentinel var m = 0; var n = 0; for (var k = startleft; k <parada; ++ k) {if (le Leateverr [m] <= rightarr [n]) {arr [k] = le LeaterArr [m]; m ++; } else {arr [k] = rightarr [n]; n ++; }}}6. Classificação rápida
var wicksort = função (arr, esquerda, direita) {var i, j, t, pivot; if (esquerda> = direita) {return; } pivot = arr [esquerda]; i = esquerda; j = certo; while (i! = j) {while (arr [j]> = pivot && i <j) {j--; } while (arr [i] <= pivot && i <j) {i ++; } if (i <j) {t = arr [i]; arr [i] = arr [j]; arr [j] = t; }} arr [esquerda] = arr [j]; arr [j] = pivô; Quicksort (arr, à esquerda, i - 1); Quicksort (arr, i + 1, à direita);}Resumo: Comparação de eficiência do algoritmo:
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.