对数据进行排序

对数据进行排序

ID:42043979

大小:136.00 KB

页数:9页

时间:2019-09-06

对数据进行排序_第1页
对数据进行排序_第2页
对数据进行排序_第3页
对数据进行排序_第4页
对数据进行排序_第5页
资源描述:

《对数据进行排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章  算法的程序实现3.4对数据进行排序冒泡排序法冒泡排序法是简单的排序方法之一,它和气泡从水中往上冒的情况有些类似,将排序的元素看作是“气泡”,比较轻的元素要往上浮。(1)对于数组a中的1至n个数据,先将第n个和第n-1个数据进行比较,如果a(n)

2、ep-1Ifa(j-1)>a(j)then将a(j-1)与a(j)对调EndifNextj(2)然后,对2至n个数据进行同样操作,则具有次小值的数据被安置在第2位上。(3)重复以上过程,每次的移动都向最终排序的目标前进,直至没有数据需要交换为止。这种排序的方法被形象地比喻成“冒泡”,在排序过程中,小的数就如气泡一般逐层上冒,而大的数逐个下沉。Fori=1to4Forj=5toi+1step-1Ifa(j-1)>a(j)thenT=a(j-1)A(j-1)=a(j)A(j)=tEndifNextjNexti当然,我们还可以采用

3、:(1)对于数组a中的1至n个数据,先将第1个和第2个数据进行比较,如果a(1)>a(2),则两个数交换位置。然后比较第2个和第3个数据;依次类推,直到第n-1个数据和第n个数据进行比较交换,这称为一趟冒泡。这一趟最明显的效果是:将最大的数据传到了第n位。由此还可推断出,对于n个数,一趟应该进行n-1次比较操作。算法如下所示:Forj=1to4Ifa(j)>a(j+1)then将a(j)与a(j+1)对调EndifNextj(2)然后,对1至n-1个数据进行同样操作,则具有次大值的数据被安置在第n-1位上。(3)重复以上过程

4、,每次的移动都向最终排序的目标前进,直至没有数据需要交换为止。这种排序的方法被形象地比喻成“冒泡”,在排序过程中,小的数就如气泡一般逐层上冒,而大的数逐个下沉。Fori=1to4Forj=1to5-iIfa(j)>a(j+1)thenT=a(j)A(j)=a(j+1)A(j+1)=tEndifNextjNexti简单交换排序(1)对于数组a中的1至n个数据,先a(1)和a(2)进行比较,如果a(1)>a(2),则两个数交换位置。然后比较a(1)和a(3);依次类推,直到a(1)和a(n)进行比较交换,这称为一趟排序。这一趟最

5、明显的效果是:将最小的数据传到了第1位。由此还可推断出,对于n个数,一趟应该进行n-1次比较操作。算法如下所示:Forj=2tonIfa(1)>a(j)then将a(1)与a(j)对调EndifNextj(2)然后,对2至n个数据进行同样操作,则具有次小值的数据被安置在第2位上。(3)重复以上过程,每次的移动都向最终排序的目标前进,直至没有数据需要交换为止。Fori=1ton-1Forj=i+1tonIfa(i)>a(j)then将a(I)与a(j)交换EndifNextjNexti选择法排序算法思想:(1)从n个数的序列中

6、选出最小的数(递增),与第1个数交换位置。除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;重复(1)n-1遍,最后构成递增序列。Fori=1Ton-1'进行n-1遍比较k=i'对第i遍比较时,初始假定第i个元素最小Forj=i+1Ton'在数组i~n个元素中选出的最小元素与第i个元素交换Ifa(j)

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

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

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