5.归并排序(含java库中应用)

来源:互联网 发布:缠通套利指标源码 编辑:程序博客网 时间:2024/05/19 02:29

时间效率:O(nlogn),它需要额外的存储空间来执行归并步骤

Java类库中的归并排序:
包java.util中的类Arrays定义了对数组按升序进行排序的静态方法sort的几个版本。对于元素是对象类型的数组,sort使用归并排序。方法:

 public static void sort(Object[ ] a);//对整个数组a排序。public static void sort(Object[ ] a, int first , int last);//对标志first到last的子数组进行排序。

对于这两个方法,数组中的对象都必须定义Compareable接口。

测试:

public static void main(String args []){    Integer[] a= new Integer []{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++) {        int j = a[i].intValue();        System.out.print(j+",");    }}

结果:
这里写图片描述
归并排序理论:
这里写图片描述

0 0
原创粉丝点击