您的位置:首页 > Web前端 > JavaScript

JavaScript演示排序算法

2012-08-06 11:04 1856 查看

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有图有真相:


代码可以在此处下载:

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息