程序排序算法免费教程

程序排序算法免费教程

ID:41543443

大小:199.98 KB

页数:15页

时间:2019-08-27

程序排序算法免费教程_第1页
程序排序算法免费教程_第2页
程序排序算法免费教程_第3页
程序排序算法免费教程_第4页
程序排序算法免费教程_第5页
资源描述:

《程序排序算法免费教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java程序员必知的大排序2012-06-2814:01without0815博客园我耍评论(5)字号:T

2、T收藏本文主耍详解了Java语言的8大排序的基木思想以及实例解读,详细请看下文AD:51CTO云计算架构师峰会抢票进行中!8种排序Z间的关系:只使用内存插入排序砂:豐入排序1■希尔排厅I选择排序内部排序简单选择排序堆排序交换排序创冒泡排序快速排序归并排序基数排序排序••••内存和外存结合使用外部排序1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在耍把第n个数插到前而的有序数中,使得这n个数也是排好

3、顺序的。如此反复循环,直到金部排好顺序。(2)实例初始状态57685952❶5768595268>57,不处理4I1O❷57685952I

4、57<59<68,插在57之后❸57596852II52<57,插在57之前结果:52575968(3)JIJjava实现1.packagecom.njue;2.3.publicclassinsertsort{4.publicinsertSort(){5・inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,5

5、3,51};6.inttemp=C;7.for(inti=l;•length;i++){8.intj=i-l;9.temp=a[i];10.for(;j>=0&&temp

6、下标相差d.对每组中全部元索进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分纽,在毎组中再进行直接插入排序。当增最减到1时,进行直接插入排序后,排序完成。(2)实例:di=n/2=557685952722896332419II;IIIId2二d〔/2二3取奇数286^3^7^95221da=d2/2=i24193328595272685796取奇数19242833525759687296(3)用java实现1.publicclassshellSort{2.publicshellSort(){3・inta[]={lz54,6z3z78,34,12,45

7、,56,100}4•doubledl=a•length;5.inttemp=0;6.while(true){7・dl=Math・cei丄(dl/2);8.intd=(int)dl;9.for(intx=0;x=0&&tempo[j];j-=d){14.a[j+d]=a[j];15.}16.a[j+d]=temp;17.}18.}19.if(d==l)20.break;21.}22・for(inti=0;i

8、h;i++)23.System.out.printIn(a[i]);24.}25-}3.简单选择排序(1)基本思想:在要排序的一组数中,选出最小的-•个数与第一个位置的数交换;然后在剩下的数当屮再找最小的耳第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。(2)实例:初始状态57659520最小值为52,与第一个交换❷最小值为57,与第二个交换526859575257J596❸59就是最小值,无需交换,完成52575968(3)MJjava实现1・publicclassselectSort{2.3・4•5.6・7・8.9・10.11.12.13.1

9、4・15.16.17.18.19.20.publieselectSort(){inta[]={lz54,6,3,78,34,12,45);intposition=0;for(inti=0;i

10、)基本思想:堆排序是一种

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

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

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