html5技术分享 javascript 排序算法

html5技术分享 javascript 排序算法

ID:33517105

大小:358.34 KB

页数:25页

时间:2019-02-26

html5技术分享 javascript 排序算法_第1页
html5技术分享 javascript 排序算法_第2页
html5技术分享 javascript 排序算法_第3页
html5技术分享 javascript 排序算法_第4页
html5技术分享 javascript 排序算法_第5页
资源描述:

《html5技术分享 javascript 排序算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、千锋教育-中国IT职业教育领先品牌HTML5技术分享JavaScript排序算法  JavaScript排序算法  关于排序  维基百科关于排序算法的描述如下:  在计算机科学与数学中,一个排序算法(英语:Sortingalgorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。最常用到的排序方式是数值顺序以及字典顺序。有效的排序算法在一些算法(例如搜索算法与合并算法)中是重要的,如此这些算法才能得到正确解答。排序算法也用在处理文字数据以及产生人类可读的输出结果。基本上,排序算法的输出必须遵守下列两个原则:  输出结果为递增序列(递

2、增是针对所需的排序顺序而言)  输出结果是原输入的一种排列、或是重组  虽然排序算法是一个简单的问题,但是从计算机科学发展以来,在此问题上已经有大量的研究。举例而言,冒泡排序在1956年就已经被研究。虽然大部分人认为这是一个已经被解决的问题,有用的新算法仍在不断的被发明。千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,需要经过大量的推理和分析。  1.冒泡排序

3、  1.1介绍  冒泡排序(BubbleSort)是一种简单的排序算法,它重复地遍历要排序的数列,每次比较相邻的两个元素,如果他们的顺序不满足排序条件就把他们交换过来。遍历数列的工作是重复地进行直到不再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。  由于冒泡算法的简洁性,基本上大家都把它看作程序设计的入门算法。  1.2算法描述  我们先看一张图:千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  上图表明了冒泡排序的算法过程,按照从小到大(升序)排序。 

4、 分解一下,过程如下:  未排序数列:65318724  第一轮排序后:5316724[8]  第二轮排序后:315624[7]8  第三轮排序后:13524[6]78  第四轮排序后:1324[5]678  第五轮排序后:123[4]5678千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  第六轮排序后:12[3]45678  第七轮排序后:1[2]345678  最后排序结果为:12345678  每一轮排序都会将该轮中的最大值冒上来(用[]标记出来的),对上一轮已经排好序的数就不用再进行判断排序。  我们可以总结一下,

5、冒泡排序的算法原理如下(按从小到大排序):  比较相邻的元素。如果前一个比后一个大,就交换他们的顺序。  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步完成后,最后的元素应该会是最大的数。  针对所有的元素重复以上的步骤,除了最后一个。  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。  1.3算法实现  代码:千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  vararray=[6,5,3,1,8,7,2,4],//未排序数组  count=0,//记录排序总循环次数  tmp;/

6、/临时变量,用于交换元素位置  console.log("排序前:",array);  for(vari=0,len=array.length-1;iarray[j+1]){  tmp=array[j];  array[j]=array[j+1];  array[j+1]=tmp;  }  }千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  con

7、sole.log("第"+(i+1)+"轮排序:",array);  }  console.log("排序后:",array);  console.log("共执行循环次数:",count);  执行结果:  排序前:[6,5,3,1,8,7,2,4]  第1轮排序:[5,3,1,6,7,2,4,8]  第2轮排序:[3,1,5,6,2,4,7,8]  第3轮排序:[1,3,5,2,4,6,7,8]  第4轮排序:[1,3,2,4,5,6,7,8]  第5轮排序:[1,2,3,4,5,6,7,8]  第6轮排序:[1,2,3,4,5,6,7,8]

8、  第7轮排序:[1,2,3,4,5,6,7,8]千锋教育www.qfedu.com千锋教育-中国IT职业教育领先品牌  排序后:[1,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。