33     for (gap = n / 2; gap > 0; gap /= 2) {
 
   34         for (i = gap; i < n; i++) {
 
   36             for (j = i; j >= gap; j -= gap) {
 
   37                 if (temp < array[j - gap]) {
 
   38                     array[j] = array[j - gap];
 
   54     for (int32_t i = length / 2; i > 0; i = i / 2) {
 
   55         for (j = i; j < length; j++) {
 
   57             for (k = j - 1; k >= 0 && arr[k] > temp; k--) {