气泡排序功能似乎不起作用

时间:2018-06-22 13:51:35

标签: javascript bubble-sort

最近,我对自己的代码出了什么问题感到很困惑。

问题:我想在每次在输入字段中输入整数时进行冒泡排序。

结果应为:1、2、3、4、5、6、7、8、9、10>,但每次我输入两位数字时。 1和10的结果将是

错误结果:1、10、2、3、4、5、6、7、8、9

var array = [];
function newfunction(){
  var newArray = . document.getElementById("number").value
  array.push(newArray);
  console.log(array);
  for( var i = 0; i < array.length; i++){
    for (var j = array.length; j>1; j++){
      if(parseInt(array[i-1]) < parseInt(array[i])){
        var temp = array[i-1];
        array [i-1] = array [i]; 
        array[i]=temp;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

var array = [];
function newfunction(){
  array.push(document.getElementById("number").value);
  for (var i = 0; i < array.length; i++) {
    for (var j = 0; j < (array.length - i - 1); j++) {
      if(parseInt(array[j]) > parseInt(array[j+1])) {
        var tmp = array[j];
        array[j] = array[j+1];
        array[j+1] = tmp;
      }
    }        
  }
  console.log(array);
}
<input type="text" id="number" onblur="newfunction()"/>

看看这段代码。它用气泡排序对数组排序。

您必须在输入中键入数字,然后按Tab键或在外部单击以将数字添加到数组中,然后查看排序结果。