def sortInt(arr:Array[Int]):Array[Int]={
if (arr == null || arr.length <= 1) return arr
val (left, right) = arr.tail.partition(_ < arr.head)
(sortInt(left) :+ arr.head) ++ sortInt(right)
}
def quickSort[T: ClassTag](buffer: mutable.Buffer[T])(implicit isASC: Boolean = true, ev: T => Comparable[T]): mutable.Buffer[T] = {
if (buffer == null || buffer.length <= 1)
return buffer
val (left, right) = buffer.tail.partition(t => {
if (isASC) t.compareTo(buffer.head) < 0
else t.compareTo(buffer.head) > 0
})
quickSort(left) += buffer.head ++= quickSort(right)
}