繁体   English   中英

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

[英]Why is this happening? (Bubble Sort) [JavaScript]

我目前在JavaScript中使用冒泡排序程序时遇到了一些问题,例如,当我给出1到10的Array值时,它会像这样组织它们: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>

它将数据视为字符串并正确排序。 您需要从hint()中解析输入的内容,或仅减去0。例如,提示符(“ Inset a Number”)-0。

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

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

您当前正在比较字符串。 由于提示符将返回一个字符串,因此需要先将其转换为整数,然后才能正确比较它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM