使用不带sort()方法的数字对数组进行排序

时间:2013-04-26 18:55:17

标签: javascript arrays sorting

我正在学习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);

1 个答案:

答案 0 :(得分:17)

以下是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);