A sorting algorithm proposed by Donald Shell in 1959 and published as shellsort. It is a variant of straight insertion sort that allows records to take long leaps rather than move one position at a time. It does this by sorting each group G(i)j of records a distance hi apart within the file. (The G(i)j are disjoint and together contain all the information in the file.) This is repeated for a decreasing sequence of values hi, and consequently increasing number of groups G(i)j, finally ending with hi = 1.