2013-04-26 112 views
3

我正在学习Javascript和我坚持一个练习,我发现在教程中,我认为这是学习street.com ...我必须用数字排序数组而不使用sort()方法。这样的事情:排序数组没有排序()方法

numbers =[12,10,15,11,14,13,16]; 

自从今天早上我已经尝试了很多事情,但我找不到如何做到这一点。任何人都可以帮忙我也需要解释,不仅是答案!

感谢

哦,看看我在这一点上:

function ordre(liste){ 
var result=[]; 


for(i=0; i<liste.length; i++){ 

for(j=0; j<liste.length; j++){ 
     if(liste[i]>liste[j+1]){ 

     } 
    } 

} 

console.log(result); 
} 

ordre(nombres); 
+2

什么“东西”你试过,你能告诉我们您尝试的代码?有许多算法可用; https://en.wikipedia.org/wiki/Sorting_algorithm – Xotic750 2013-04-26 18:57:04

+2

如果有其他人为你做这些练习,练习不会很好。对排序算法的一点研究是你所需要的。 – 2013-04-26 18:57:15

+1

这听起来像是教训你要教你如何在引擎盖下排序功能。试着增加你对这个主题的认识。维基是一个很好的建议,作为一个开始的地方。 – RacerNerd 2013-04-26 19:01:31

回答

10

这里是一个Bubble sort功能供你参考,但提到有很多不同的sorting algorithms

function bubbleSort(array) { 
 
    var done = false; 
 
    while (!done) { 
 
    done = true; 
 
    for (var i = 1; i < array.length; i += 1) { 
 
     if (array[i - 1] > array[i]) { 
 
     done = false; 
 
     var tmp = array[i - 1]; 
 
     array[i - 1] = array[i]; 
 
     array[i] = tmp; 
 
     } 
 
    } 
 
    } 
 

 
    return array; 
 
} 
 

 
var numbers = [12, 10, 15, 11, 14, 13, 16]; 
 
bubbleSort(numbers); 
 
console.log(numbers);

+0

如果你是一个初学者,排序很容易理解......如果你不能自己解释这个,你应该手工操作算法直到你可以。一旦完成,这应该很容易理解。如果不是,请再学习一些。 – RacerNerd 2013-04-26 19:42:49

+0

非常简单的方法和气泡排序的好用例。请注意,只有在数组相对较小时才有用。 – 2014-12-30 14:15:08