高级排序--希尔排序

希尔排序------缩小增量排序

Shellsort适合处理中等规模的数组(几千个元素)

它没有quicksort那么快,因此不适合处理更大规模的数据

间隔序列中的数字互质,且最后的间隔一定要为1

基于实验的效率分析则有几种:分别介于 O(N3/2)至 O(N7/6)之间。


public void shellSort()
{
      int inner, outer;
      long temp;
 
      int h = 1;                     // find initial value of h
      while(h <= nElems/3)
         h = h*3 + 1;                // (1, 4, 13, 40, 121, ...)
 
      while(h>0)                     // decreasing h, until h=1
      {
                                     // h-sort the file
         for(outer=h; outer
    
    
     
      h-1 && theArray[inner-h] >=  temp)
               {
               theArray[inner] = theArray[inner-h];
               inner -= h;
               }
            theArray[inner] = temp;
            }  // end for
         h = (h-1) / 3;              // decrease h
      }  // end while(h>0)
   }  // end shellSort()

    
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值