def swim(k)
      while k > 1 && ! ordered?(k/2, k) do
        swap(k, k/2)
        k = k/2
      end
    end
def swim(k)
      while k > 1 && ! ordered?(k/2, k) do
        swap(k, k/2)
        k = k/2
      end
    end
Percolate up to maintain heap invariant.

 @param [Integer] k
   The index at which to start the percolation.

 @!visibility private