java 数据结构基本算法希尔排序
C语言数据结构基本算法希尔排序
前言:
基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。
实现代码:
publicclassShellSort{ /** *原理:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的 *下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组, *在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。 * *@author阿信sxq-2015年7月16日 * *@paramargs */ publicstaticvoidmain(String[]args){ 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,53,51}; intd=a.length; inttemp=0; while(true){ d=d/2; for(intx=0;x=0&&temp 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!