为什么会这样? (冒泡排序)[JavaScript]

时间:2015-12-02 18:29:19

标签: javascript bubble-sort

我目前在JavaScript中使用冒泡排序程序时遇到了一些问题,我似乎遇到的问题是,例如当我从1到10给出我的数组值时,它会像下面这样组织它们:1,10 ,2,3,4,5,6,7,8,9。

这是我的代码:

function bubble(){

var array = [10];
var j=0;
var i=0;

for(i=0; i<10; i++){

array[i] = prompt("Inset a Number");

}
  for (i=0; i < 10; i++){

    for (j=0; j < 10; j++){

        if(array[j+1] < array[j]){

            temp = array[j];
            array[j] = array[j+1];
            array[j+1] = temp;
        }
    }
   }

alert(array);

}
    </script>

3 个答案:

答案 0 :(得分:0)

它将数据视为字符串并正确排序。你需要从提示符()中解析输入你的输入,或者只需减去0.例如,提示(“插入一个数字”) - 0。

答案 1 :(得分:0)

数字实际上是字符串,因为提示值以字符串形式返回。 您需要将字符串转换为int,如下所示:

array[i] = parseInt(prompt("Inset a Number"));

答案 2 :(得分:0)

您目前正在比较字符串。因为prompt将返回一个字符串,所以在正确比较之前需要将其转换为int。

array[i] = parseInt(prompt("Inset a Number"));