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
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!