java排序算法的实现

java排序算法的实现

ID:15653841

大小:207.50 KB

页数:61页

时间:2018-08-04

java排序算法的实现_第1页
java排序算法的实现_第2页
java排序算法的实现_第3页
java排序算法的实现_第4页
java排序算法的实现_第5页
资源描述:

《java排序算法的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.冒泡排序 已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。这样处理一轮后,a[n]的值一定是这组数据中最大的。再对a[1]~a[n-1]以相同方法处理一轮,则a[n-1]的值一定是a[1]~a[n-1]中最大的。再对a[1]~a[n-2]以相同方法处理一轮,以此类推。共

2、处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。 优点:稳定,比较次数已知; 缺点:慢,每次只能移动相邻两个数据,移动数据的次数多。 初始关键字[4938659776132749] 第一趟排序后[38496576132749]97 第二趟排序后[384965132749]7697 第三趟排序后[3849132749]657697 第四趟排序后[38132749]49657697 第五趟排序后[381327]4949657697 第六趟排序后[1327]384949657697 第七趟排序后[13]2738

3、4949657697 最后排序结果1327384949767697 2.选择排序 ①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……③第i趟排序第i趟排序开始时,当前有序区和无序区分别为R[1..i-1]和R[i..n](1≤i≤n-1)。该趟排序从当前无序区中选出关键字最小的记录R[k],将它与无序区的第1个记录R交换

4、,使R[1..i]和R[i+1..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区.这样,n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果。 优点:稳定,比较次数与冒泡排序一样; 缺点:相对之下还是慢。 初始关键字[4938659776132749]第一趟排序后13[38659776492749]第二趟排序后1327[659776493849]第三趟排序后132738[9776496549]第四趟排序后13273849[49976576]第五趟排序后1327384949[977676

5、]第六趟排序后132738494976[7697]第七趟排序后13273849497676[97]最后排序结果1327384949767697 12232378986820122323782068980123456#include usingnamespacestd; voidmain() {inti,j,k,t;intR[8]={49,38,65,97,76,13,27,49};for(i=0;i<7;i++){k=i;for(j=i+1;j<8;j++)if(R[j]

6、!=i){t=R[j];R[j]=R[k];R[k]=t;}} for(i=0;i<8;i++)cout<

7、38659776132759] a  b[1]b[2] b[3] b[4]b[5] b[6] b[7]b[8] 1—–49 49> 38  65  97   76 13   27  59 38  49  49  ………. 38  38  49  ………. 2—–38 38   49<65 97   76  13  27  59 3—–38 38   49 65<97   76  13  27  59 4—-38 38    49 65  97>  76  13  27  59 76  38  49  65  97  9

8、7…….. 76  38  49  65  76  97…….. 以此类推 voidinsertSort(Type*arr,longlen) {longi=0,j=0;for(i=1;i0){

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

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

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