2013-04-26 177 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