时间效率:最坏情况下是O(n2 ),最好和平均情况下都是O(nlogn)的。
快速排序在实际应用中通常更快,并且不需要归并排序在归并时所需要的额外存储。
Java类库中的快速排序:
包java.util中的类Arrays使用快速排序对基本类型的数组按升序进行排序方法:
public static void sort(type [ ] a);//对整个数组a排序。
public static void sort(type [ ] a, int first , int last);//对标志first到last的子数组进行排序。
注意:type可以是byte、char、double、float、int、long、或者short类型
测试:
public static void main(String args []){
int[] a= new int []{9,6,2,4,8,100,29,203,49,382,987,299,883,79,229,99,002,888,2,883,999};
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
}
结果: