An efficient algorithm for arranging a set of n numbers in order of magnitude. It starts by applying a succession of bubble or shuttle sorts to carefully chosen subsets of the data. A shuttle sort is then applied to the resulting partially ordered data.