华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)

华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)

ID:16891074

大小:421.84 KB

页数:9页

时间:2018-08-25

华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)_第1页
华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)_第2页
华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)_第3页
华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)_第4页
华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)_第5页
资源描述:

《华为笔试,必过!!!程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、前几天,看到一篇前辈的博文“程序员必知的8大排序”,不禁的手痒起来,重新翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用java去实现,其中有不足之处,还望各位道友指正出来。 先来看看8种排序之间的关系: 1,  直接插入排序   (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountona

2、regularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender(3)用java实现[plain] viewplaincopy1.   package com.njue;  2.  3.   4.  5.publicclass insertSort {  6.  7.public insertSort(){  8.  9

3、.     int a[]={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};  10.  11.    int temp=0;  12.  13.    for(int i=1;i=0&&temp

4、1]=a[j];                       //将大于temp的值整体后移一个单位  22.  23.       }  24.  25.       a[j+1]=temp;  26.  27.    }  28.  29.    for(int i=0;i

5、notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender1.  2.       System.out.println(a[i]);  3.  4.}  5.  6.}   2,  希尔排序(最小增量排序)(1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增

6、量减到1时,进行直接插入排序后,排序完成。(2)实例:(3)用java实现[plain] viewplaincopy1.publicclass shellSort {  2.  3.publicshellSort(){  4.  5.    int a[]={1,54,6,3,78,34,12,45,56,100};  6.  7.    double d1=a.length;  8.  9.    int temp=0;  10.  11.    while(true){  20currencydeposit,weprescribeapassonaregul

7、arbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender1.  2.       d1= Math.ceil(d1/2);  3.  4.       int d=(int) d1;  5.  6.       for(int x=0;x

8、  8.           for(

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

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

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