DW sorting algorithms