add a re-exercise of QSort