Wizualizacja sortowania powłoki

public void shellSort(int[] array) {
     int[] gaps = { 16, 30, 95, 51, 84, 23, 62, 44 };
     int temp;
     int i, j;

     for (int gap : gaps) {
          for (i = gap; i < array.length; i++) {
               temp = array[ i ];
               for (j = i; j >= gap && array[ j - gap ] > temp; j -= gap) {
                    array[ j ] = array[ j - gap ];
               }
               array[ j ] = temp;
          }
     }
}
Glorious Gerbil