ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:21.61KB ,
资源ID:16140024      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16140024.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(各种经典排序算法汇总Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

各种经典排序算法汇总Word文件下载.docx

1、6. min=i;/将当前下标定义为最小值下标7. j=i+1;jaj)9. min=j;/记录当前最小下标10. if(i!=min)11. swap(ai,amin);如果i不是最小下标则交换12. 13. print(a,size);14. 2,冒泡排序依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小

2、于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。BubbleSort(intsize-1;j=0;size-1-i;if(ajaj+1)swap(aj,aj+1);10. 优化:使用标志的冒泡排序, 因为当一次遍历时 没有发生任何的交换 事实上证明数组排序已经完成 函数可以退出BubbleSortWithFlag(intboolflag;4. for(intflag=true;flag=false;14. 15. if(flag

3、=true)16. 17. 18. return;19. 20. 21. 鸡尾酒排序 :冒泡排序的变形 (转)鸡尾酒排序等于冒泡排序的轻微变形,不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。以序列(2,3,4,5,1)为例,鸡尾酒排序只需要访问两次(升序降序各一次 )次序列就可以完成排序,但如果使用冒泡排序则需要四次。(1)先对数组从左到右进行冒泡排序(升序),则最大的元素去到最右端;(2)再对数组从右到左进行冒泡排序(降序),则最小的元素去到最左端

4、。以此类推,依次改变冒泡的方向,并不断缩小未排序元素的范围。CockSort(intlow=0;up=size-1;index=0;while(lowai+1)swap(ai,ai+1);index=i;up=index;i=up;ilow;i-)if(aiai-1)swap(ai,ai-1);21. low=index;22. 23. 24. 3,插入排序 (直接,折半,路插入,表插入)依次取出便利每一项 将每一项temp=aj和其之前的数进行比较,如果发现了比自己大的数 就将其放在当前j的位置 同时j-,继续用temp和之前的数进行比较,直到没有比自己大的数时结束。1. /直接插入排序2.

5、 voidinsertSort(int3. if(size0&tempaj-1;j-)aj=aj-1;aj=temp;18. 折半插入排序:折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。折半插入排序算法的具体操作为:在将一个新元素插入已排好序的数组的过程中,寻找插入点时,将待插入区域的首元素设置为alow,末元素设置为ahigh,则轮比较时将待插入元素与am,其中m=(low+hi

6、gh)/2相比较,如果比参考元素小,则选择alow到am-1为新的插入区域(即high=m-1),否则选择am+1到ahigh为新的插入区域(即low=m+1),如此直至low=high不成立,即将此位置之后所有元素后移一位,并将新元素插入ahigh+1。binaryInsertSort(intlow,high,m,temp,j;for(int+i)high=i-1;/*/这句话可以稍微优化一下下速度不影响结果continue;*/while(low=high)m=(low+high)/2;if(temp=temp的值的位置而是=temp的值的左边的位置所以.elselow=m+1;high+

7、1;-j)/所以这里的high要加一哇22. 4,希尔排序希尔算法思想:将整个无序序列分割成若干小的子序列分别进行插入排序。如 一个长度为13的数组81 9411 96123517 952858417515先以13/2=5为gap进行比较 即对(81 35 41)(94 17 75)(11 95 15)分别进行排序 即对数组进行一次间距为5的插入排序之后以3 和 1为间距 对数组进行插入排序shellSort(int代码取自数据结构于问题求解(c+版)gap=size/2;gap0;gap=gap=2?1:static_cast(gap/2.2)这里计算出当前的间距i=gap;这里跟插入排序的代码一样不过不在是每次与前一位比较而是与前gap位进行比较for(j=i;=gap&j-=gap)aj=aj-gap;1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1