永发信息网

高手请进~~~JavaScript循环问题!

答案:1  悬赏:60  手机版
解决时间 2021-08-12 16:45

<head>

<script language="javascript">

function bubbleSort(arr){

       var temp;

       var exchange;

    for(var i=0;i<arr.length;i++){          //这个循环起的是什么作用?

              exchange=false;

           for(var j=arr.length-2;j>=i;j--){     //我想的是:这里的i不过是从0变到arr.length-1,而 j>0不就包含了j>1…. arr.length-1吗,所以为什么不在这里直接令i=0,并且去掉那个外循环呢?                                                                  

                     if(eval(arr[j+1])>eval(arr[j])){

                            temp=arr[j+1];

                            arr[j+1]=arr[j];

                            arr[j]=temp;

                            exchange=true;

                            }

                     }

                     if(!exchange){

                            break;

                            }

              }

              return arr;

}

function display(el){

       str=document.getElementById('source').value;

       strs=bubbleSort(str.split(','));

       str="";

       for(var i=0;i<strs.length;i++){

              str+=strs[i]+' ';

              }

              alert(str);

}

</script>

</head>

<body>

<center>

<h1>利用流程控制语句实现冒泡排序</h1>

<hr>

<br>

<h5>显示如下信息....</h5>

<br>

请输入排序序列:<input type="text" id="source"><input type="button" value="排序" onclick="display();"><span>(输入序列请用半角逗号隔开)</span>

</center>

</body>

 

在此声明啊!本人初学者还是菜鸟一枚,呵呵~~所以请大家多多指教了,帮我理一下这个思路。

最佳答案
冒泡排序的原理说得通俗点是这样的:一群人杂乱地站在那里,你要按照身高给他们排队,你应该怎么做呢?先让他们随机地排成一排,然后把第一个人和第二个人比较身高,找出较高的那个再和第三个人比……重复这个过程,最后找出来的那个就是所有人中最高的(这就是内循环所起的作用)。但是做完这一步还没完啊,剩下的人还是高低不齐地排在一起啊,所以上述过程又要重新来一次,不过这一次参与比较的总人数比上一次少一人了,因为那个最高的家伙已经孤零零地站在队伍外面了。第二次的比较完成后,找出来的那个人,就肯定是第二高的人。这样不断重复(这是外循环的作用),到最后剩下的那个人,就肯定是全队人中最矮的那个(同情一下)。现在你应该明白了吧:内循环就是从剩下的数中找出最大的,而外循环就是使内循环重复执行,并且每次把上一次找出的那个数排除在查找范围之外。如果把外循环去掉,那么就只能找出所有数中最大的那个,而不是排序。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在不违法,不需要过多劳动力和精神的情况下,
禅城区边到有得改校服?
纯棉衣服上的书画用墨汁怎么洗掉啊??回答一
旅游管理好找工作吧!急!急!急!
MIC男团什么时候建立的?
跪求clannad智代after完全版pc
韩版花样男子里面的所有歌曲
谁帮我录个DNF选频道点开始时的声音?不是选
四川有什么好的二本
最近尾椎骨总是有酸又疼是怎么回事,不能碰它
给我神鬼传奇电信二区魔幻城推广员ID谁有啊?
北京那个火车站有回西安的车
沈阳规模最大的图书市场有哪些?
在山的那边中什么是【信念凝成的海】
上海嘉定区面积有多大?
推荐资讯
dnf8月31号维护吗
五台山.在那个省
温县焦作佐尔美女装名店我想知道这个在什么地
英语动词变形容词有什么规律
喇叭的阻抗,请问音响有阻抗吗,怎么测量.
QQ飞车里面的A车要改装多少次才能像S车一样呢
有没有什么即将上市的A显卡
蜗居是王贵与安娜的后续吗?
房子过户找不到原来的房主。
我想买个诺基亚官方网站上买个6700S,不知道
谭杰希会成为冠军吗
汝南县驻马店金立手机地址有谁知道?有点事想
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?