一分钟彻底理解JavaScript冒泡排序与选择排序

本篇文章我们来了解一下javascript中的冒泡排序与选择排序的相关知识,起泡法每次比较就要立刻交换,而选择排序是把未排序最小的数找出来与它应在的位置上的元素交换。选择排序交换次数较少,一定程度上提高了运算效率。希望对大家有帮助。

一分钟彻底理解JavaScript冒泡排序与选择排序

JavaScript冒泡排序与选择排序

冒泡排序

原理:

立即学习“Java免费学习笔记(深入)”;

比较两个相邻的元素,将值大的元素交换到右边,直到最右边。注意核心是相邻。

思路:

依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。第一轮下来数组中最大的数会排在最后面。

第二轮:然后数组再剩余的数中从第一个数依次比较相邻的数,将最大的数排在最后面。

重复步骤,直到排序完成。

注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是最小的,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮

算法可视化:

+1.gif

 代码如下:

         function ismaopao(arr) {            //控制比较轮数            for (var i = 0; i < arr.length - 1; i++) {                //冒泡排序,两两交换,从头开始做比较(大数下沉)                for (var j = 0; j  arr[j + 1]) {                        var a;                        a = arr[j];                        arr[j] = arr[j + 1];                        arr[j + 1] = a;                    }                }            }            return arr;        }        console.log(ismaopao([6, 3, 4, 5, 2, 1]))    

登录后复制

结果如下:

25.png

选择排序

思路:

假设数组第一个位置的数最小,然后与后面的每一个数进行比较,只要找到更小的就交换值对应的下标,注意是下标。第一轮找一遍之后可以锁定到最小值的位置了(就是找到了下标)然后就交换值。

第二轮假设第二个位置的数最小,这时候不用管数组第一个值(因为第一轮找到已经是最小的了)然后与后面最小值交换下标,锁定后再交换值。

重复步骤,直到排序完成。

注意:到倒数第二轮完时,最后一轮还剩一个数,肯定是比前面的数都还大,所以不用排序。即就是只用排序 数组的长度减一(arr.length-1)轮

算法可视化:

+2.gif

 代码如下:

没有封装,大家可以自己封装一下

        //选择排序,比冒泡排序次数少        var arr = [5, 3, 4, 2, 1]        var min = 0; //定义一个Min为数组的下标        for (var i = 0; i < arr.length - 1; i++) {            min = i;            for (var j = i + 1; j  arr[j]) {                    min = j; //交换下标,就是交换位置                }            }            var a = 0;            // 现在min的值就是对应着数组最小值的下标,            // 然后再用下标为i对应数组中的值来交换,i随着每一轮的变化而变化            a = arr[min];            arr[min] = arr[i];            arr[i] = a;        }        console.log(arr);    

登录后复制

结果如下:

26.png

相关视频教程推荐:jQuery视频教程

以上就是一分钟彻底理解JavaScript冒泡排序与选择排序的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2704107.html

(0)
上一篇 2025年3月7日 19:39:27
下一篇 2025年2月25日 19:55:44

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论