2016-11-29 1 views
-2

Je matrice de ce type value = [250, 200, 300, 150, 300]Le tri ne fonctionne pas dans JS

J'utilise ce code.

 for (var j = 0; j < value.length - 1; j += 1) 
     { 
      if (value[j] > value[j + 1]) 
      { 
       var temp = value[j + 1]; 
       value[j + 1] = value[j]; 
       value[j] = temp; 
      } 
     } 

Mais, cela ne fonctionne pas. C'est résultats valeur = [200, 250, 150, 300, 300]

Je veux accomplir cela sans utiliser la fonction intégrée.

+3

avec une boucle, vous ne recevez pas un tableau trié. –

+0

Le tri en boucle unique n'est pas possible. Vous pouvez soit aller avec la méthode de tri interne https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort ou utiliser des algorithmes de tri http://khan4019.github.io/front-end -Interview-Questions/sort.html –

+0

Pourquoi ne pas simplement faire 'value.sort()' – adeneo

Répondre

-1

Vous devriez avoir deux boucles les unes dans les autres pour trier ensemble

value = [250, 200, 300, 150, 300] 
 
for (var i = 0; i < value.length; i++) 
 
    for (var j = i; j < value.length - 1; j++) { 
 
    if (value[i] > value[j]) { 
 
     var temp = value[j]; 
 
     value[j] = value[i]; 
 
     value[i] = temp; 
 
    } 
 
    } 
 

 
console.log(value)

0

utiliser le code ci-dessous.

var value = [250, 200, 300, 150, 300]; 
 

 
for (var i = 0; i < value.length; i++) { 
 
    var swapped = false 
 
    for (var j = 0; j < value.length; j++) { 
 
    if (value[j] > value[j + 1]) { 
 
     temp = value[j + 1]; 
 
     value[j + 1] = value[j]; 
 
     value[j] = temp; 
 
     swapped = true; 
 
    } 
 
    } 
 
    if (!swapped) { 
 
    break; 
 
    } 
 
} 
 
console.log(value)

+0

S'il vous plaît expliquer votre tentative. Il suffit de mettre le code de travail n'est pas assez bon – Rajesh

+0

il a besoin de 2 boucles comme défini dans l'algorithme de tri à bulles pour vérifier chaque passe comme par définition dans l'algorithme https://www.tutorialspoint.com/data_structures_algorithms/bubble_sort_algorithm.htm –

+0

Je connais l'algo pour bulle Trier. Ce que je voulais dire, c'est expliquer votre tentative dans votre réponse, de sorte que si quelqu'un sans assez de connaissances lit votre réponse, il comprend ce qui se passe. – Rajesh