 One implementation can be described as arranging the data sequence in a two-dimensional array and then sorting the columns of the array using insertion sort.The worst-case time complexity of Shellsort is an open problem and depends on the gap sequence used, with known complexities ranging from "O"("n"2) to "O"("n"4/3) and Θ("n" log2 "n").This, combined with the fact that Shellsort is in-place, only needs a relatively small amount of code, and does not require use of the call stack, makes it is useful in situations where memory is at a premium, such as in embedded systems and operating system kernels.