Implementing the ShellSort