JS冒泡排序输入的数字不能正确排序,输入2,4,35的话,排序成2,35,4。该怎么改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS冒泡排序输入的数字不能正确排序,输入2,4,35的话,排序成2,35,4。该怎么改相关的知识,希望对你有一定的参考价值。

<script>
var x1=prompt();
var x2=prompt();
var x3=prompt();
var a=[x1,x2,x3];
var temp=0;
for(var i=0;i<a.length-1;i++)
for(var j=0;j<a.length-1-i;j++)
if(a[j]>a[j+1])
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp


console.log(a);

参考技术A <script>
var x1=parseInt(prompt());
var x2=parseInt(prompt());
var x3=parseInt(prompt());
var a=[x1,x2,x3];
var temp=0;
for(var i=0;i<a.length-1;i++)
  for(var j=0;j<a.length-1-i;j++)
        if(a[j]>a[j+1])
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
        
 

console.log(a);
</script>

参考技术B 第二个 for 循环 改成 for(var j=0;j<a.length-1;j++)追问

我试了一下,依然是35会在2和4之间

追答

.

参考技术C 两层循环改成for(var i=0;i<a.length;i++)
for(var j=i;j<a.length;j++)

Scratch-冒泡排序

    排序的方式有很多种,而冒泡排序是最简单的算法之一。之所以称为冒泡,是因为在排序的过程中数字像气泡一样浮到正确的位置。

编程思路】

1.用链表来保存我们输入的随机数字,并用程序将其顺序打乱;

2.将这些数字从头开始进行两两比较,不满足逆序排列则交换位置,满足逆序排列则继续比较下一对数字;

3.一轮冒泡排序结束后,能够实现将最大值交换到首位;

4.继续进行若干轮冒泡排序,直到所有数字都按照逆序排列。

现在,我们一起通过编程来实现吧!首先来看打乱数字顺序的过程:

编辑

请点击输入图片描述

下面开始进行冒泡排序:

Scratch-冒泡排序

编辑

请点击输入图片描述

最后,编写主程序:

编辑

请点击输入图片描述

现在,我们点击小绿旗来运行一下程序吧!



以上是关于JS冒泡排序输入的数字不能正确排序,输入2,4,35的话,排序成2,35,4。该怎么改的主要内容,如果未能解决你的问题,请参考以下文章

最简单的排序算法之一冒泡排序----js实现

C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列

每日编程-108期链表排序之冒泡排序

JSK-133 冒泡排序排序

剑指offer:最小的K个数

977 -排序数组的正方形