冒泡法排序c21442.pdf

上传人:得****3 文档编号:83609779 上传时间:2023-03-31 格式:PDF 页数:3 大小:87.29KB
返回 下载 相关 举报
冒泡法排序c21442.pdf_第1页
第1页 / 共3页
冒泡法排序c21442.pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《冒泡法排序c21442.pdf》由会员分享,可在线阅读,更多相关《冒泡法排序c21442.pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、冒泡排序是非常容易理解和实现,以从小到大排序举例:设数组长度为 N。1比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第 N-1 个位置。3N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。按照定义很容易写出代码:初始时,a0自成 1 个有序区,无序区为 a1.n-1。令 i=1 2.将 ai并入当前的有序区 a0i-1中形成 a0i的有序区间。3.i+并重复第二步直到 i=n-1。排序完成。下面给出严格按照定义书写的代码(由小到大排序):cpp view plainco

2、pyprint 1.void Insertsort1(int a,int n)2.3.int i,j,k;4.for(i=1;i=0;j-)8.if(aj 0;gap/=2)6.for(j=gap;j n;j+)/从数组第 gap 个元素开始 7.if(aj=0&ak temp)12.13.ak+gap=ak;14.k-=gap;15.16.ak+gap=temp;17.18.再将直接插入排序部分用 白话经典算法系列之二 直接插入排序的三种实现 中直接插入排序的第三种方法来改写下:cpp view plaincopyprint 1.void shellsort3(int a,int n)2.3.int i,j,gap;4.5.for(gap=n/2;gap 0;gap/=2)6.for(i=gap;i=0&aj aj+gap;j-=gap)8.Swap(aj,aj+gap);9.这样代码就变得非常简洁了。附注:上面希尔排序的步长选择都是从 n/2 开始,每次再减半,直到最后为 1。其实也可以有另外的更高效的步长选择,如果读者有兴趣了解,请参阅维基百科上对希尔排序步长的说明:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁