希尔排序

/*@希尔排序:分组插入排序
 *@list:待排序数组
 *@n:总排序元素个数
 */
 void shellSort(element list[], int n)//希尔排序
 {
     int span=n;
     element temp;
     while(span > 1)//跨度为1时排序结束
     {
         span=(span+1)/2;

         for(int i=0; i<n-span; i++)
         {
             if(list[i+span]<list[i])
             {
                 temp=list[i+span];
                 list[i+span]=list[i];
                 list[i]=temp;
             }
         }
     }
 }
posted @ 2012-07-17 16:51  logzh  阅读(163)  评论(0编辑  收藏  举报