手机版

JavaScript选择排序算法原理及实现示例

时间:2021-08-30 来源:互联网 编辑:宝哥软件园 浏览:

本文结合实例阐述了JavaScript选择性排序算法的原理和实现方法。分享给大家参考,如下:

一、选择排序介绍

冒泡排序、插入排序、选择排序统称为简单排序。以下是选择排序的想法:

假设有一个数组A,我们假设有一个类叫Class A,现在整个类随机排成一行,第一个位置是a[0],最后一个位置是a[a.length-1]。但是身高的顺序并不有序。我们要从矮到高排序,最矮的在顶,最高的在尾。

选择排序是这样工作的:

第一轮:

(1)比较位置a[1]和位置a[0]球员,如果他们比位置a[0]的球员矮,记住位置a[0]如果他们不比位置a[0]的球员矮。

(2)如果位置a[2]的球员比记录位置的球员矮,将被改为记录位置,如果不比记录位置的球员矮,则记录位置的球员是目前已知的最短的;

(3)如果位置a[3]的选手比记录位置的选手矮,将位置A [3]改为记录位置;如果它不短于记录位置的播放器,不要改变记录位置;处于记录位置的玩家是目前已知最短的;

以此类推,直到完成[a.length-1]位置播放器和记录位置播放器之间的比较,使得记录位置播放器在所有播放器中最短。

但是,我们知道最短的一个必须在位置a[0]才能最终完成排序,所以我们交换位置a[0]的玩家和记录位置的玩家。最短的玩家成功入坑a[0]!

第二轮:

重复第一轮的过程,只是这一次,从a[1]的位置开始,依次比较,最后把战绩位置的选手放入a[1]。第二矮的玩家成功入坑a[1]!

最后一轮:

依次从[a.length-2]位置进行比较,只有[a.length-2]和[a.length-1]没有按顺序排列。经过一次比较,第二高的玩家被放入[a.length-2]位置,而处于[a.length-1]位置的玩家一定是最高的。

其次,JavaScript实现了选择性排序

函数select _ sort(arr){ var k;变化的温度;var l=arr.lengthfor(var I=0;I l-1;I){ k=I;for(var j=I ^ 1;j l;j){ if(arr[j]arr[k]){ k=j;} } temp=arr[k];arr[k]=arr[I];arr[I]=temp;}返回arr}var a=[11,2,3,445,7,32,71,1,94];console . log(select _ sort(a));var b=[94,11];console . log(select _ sort(b));描述:

如果数组只有一个元素,就不会进入外部for循环,所以相当于什么都不做,结果是正确的。

以上代码使用了在线HTML/CSS/JavaScript代码运行工具,http://tools.jb51.net/code/HtmlJsRun测试结果如下:

PS:这里推荐一个排序的演示工具,供大家参考:

在线动画演示插入/选择/冒泡/合并/希尔/快速排序过程工具:http://tools.jb51.net/aideddesign/paixu_ys

更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》和0103010

希望本文对JavaScript编程有所帮助。

版权声明:JavaScript选择排序算法原理及实现示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。