希尔排序

  1. function shellSort(array) {
  2.     var j, i, v, h=1, s=3, k,n = array.length
  3.     while(h < n)
  4.       h=s*h+1;
  5.    
  6.     while(h > 1) {
  7.       h=(h-1)/s;
  8.       for (k=0; k<h; k++)
  9.         for (i=k+h,j=i; i<n; i+=h, j=i) {
  10.           v=array[i];
  11.           while(true)
  12.             if ((j-=h) >= 0 && array[j] > v)
  13.               array[j+h]=array[j];
  14.           else
  15.             break;
  16.           array[j+h]=v;
  17.         }
  18.     }
  19.   }

你可能感兴趣的:(J#)