shell sort methods optimized