Java程序员必知的8大排序24657

Java程序员必知的8大排序24657

ID:41762762

大小:212.11 KB

页数:16页

时间:2019-09-01

Java程序员必知的8大排序24657_第1页
Java程序员必知的8大排序24657_第2页
Java程序员必知的8大排序24657_第3页
Java程序员必知的8大排序24657_第4页
Java程序员必知的8大排序24657_第5页
资源描述:

《Java程序员必知的8大排序24657》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java程序员必知的8大排序本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文8种排序Z间的关系:只使用内存插入排序噱黑篇序排序内部排序交换排序归并排序皋数排序内存和外存结合使用外部排序简单选择排序堆排序冒泡排序快速排序1,直接插入排序(1)基本思想:在要排序的一组数中,假设前

2、fti(n-l)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前而的有序数中,便得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例初始状态57685952❶5768595268>57,不处理,11O❷5

3、7685952I

4、57<59<6&插在57之后❸57596852II52<57,插在57之前结果:52575968(3)用java实现1packagecom.njue;22publicclassinsertsort{3publicinsertSort(){4inta[]={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,53,51};5inttemp=0;for(inti=l;i

5、-l;9temp=a[i];10for{;j>=0&&temp

6、行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。(2)实例:di=n/2=557685952722896332419IIIIII妒山/2二328683324195796595221<*3=d2/2=i24193328595272685796取奇数19242833525759687296(3)用java实现8publicclasssheilSort{9publicshellSort(){10inta[]={1,54z6,3,78,34z12,45,56,100};11doubledl=a.le

7、ngth;12inttemp=0;13while(true){14dl=Math>ceil(dl/2);15intd=(int)dl;16for(intx=0;x=0&&temp

8、em.out.printin(a[i]);31}8}3.简单选择排序(1)基本思想:在要排序的一组数中,选出最小的一个数•笫一个位置的数交换;然后在剩下的数当中再找最小的与笫二个位置的数交换,如此循环到倒数第二个数和最质一个数比较为止。(2)实例:初始状态57685952526859575257590最小值为52,与第一个交换❷最小值为57,与第二个交换❸59就是最小值,无需交换,完成52575968(3)川java实现9publicclassselectSort{10publicselectSort(){11inta[]=

9、{l,54,6,3,78,34,12,45};12intposition=0;13for(inti=0;i

10、]);64}65}4,堆排序(1)基本思想:堆排序是一种树形选择排序,是对直接选择排序的有效改进。堆的定义如下:具有n个元素的序列(hl,h2hn),当且仅当满足(hi>=h2i,hi>二2i+l)或(hi<=h2i,hi<=2i+l)(i=l,2,…,n/2)时称Z为堆。在这里只讨论满足

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

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

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