add ascending/descending support
fix descending bug of bubble sort