JavaScript演示排序算法

在CSDN下了一个JavaScript实现的排序演示程序(后来发现原来是从日本的一个分享网站下载过来的)。于是很有兴致了做了几个单词的汉化(一共没有超过10个单词),并加了三个新的排序演示(都是从Wiki的基础上稍加修改而成的),同时也让代码能离线使用(只是把其中没有下载的一个js文件下载下来了而矣,并很蛋疼地改了几个文件名)。

觉得对于学习并深入理解各种排序算法的槑槑来说还是挺有用的,对将要给别人教授排序算法的槑槑来说也是相当有用的。

这里就简单地介绍一下波及到的算法呗。

冒泡排序:从头开始,将相邻的两个数中大的往后移,直到移到尾部,然后又从头开始。

选择排序:从全部数中选出最小的放在第一位,然后又从剩下的选最小的放在第二位。

鸡尾酒排序:冒泡的改进版,冒到尾部后,不是从头开始,而是直接从尾部开始往头部冒。

插入排序:把将要排序的数插到前面已经排好序的序列中,并保证插入后还是有序的。

希尔排序:插入排序的改进版,把数组虚拟成几个分段进行插入排序,并不断缩小分段。

快速排序:对于要排序的数,把比它大的入在它右边,比它小或等于它的放在它左边,然后在两边再次运用同样的方法。

堆排序:先将数组生成小根堆,然后依次将堆顶删除出来。

猴子排序:随机的交换任意两个数,如果是有序的话,就结束;如果还是无序,则继续随机下去。

地精排序:冒泡排序的改进版,每冒一次泡后,如果前面的数比后面的数大了,就回转过头来又冒一次。

砖排序:其实是奇偶排序,不过砖排序比较让人拍砖。交替地排序奇数位置和偶数位置相邻的两数。

梳子排序:把数组虚拟成几个分段,分段的大小按某种比例确定,然后对这些分段应用冒泡。

有图有真相:


代码可以在此处下载:

http://www.kuaipan.cn/file/id_1284839466902070.htm

现在搞了一个演示的网页,可以借鉴一下:
http://www.ankiang.com/SortVisual/

转载于:https://my.oschina.net/KavenFan/blog/71014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值