Java中泛型插入排序,继承Comparable接口

来源:互联网 发布:java调用百度地图api 编辑:程序博客网 时间:2024/04/30 16:30

插入排序是数据结构中一种常见的排序方式,原理简单。把数组分为两部分,一部分为有序集合,一部分为无序集合。假设数组大小为N,有序集合大小为i,依次从无序集合中拿出一个数组向有序集合中加入,直至无序集合大小为0。最多要执行1+2+3+...+N-1=(N-1)*N/2次,所以复杂度为O(N^2),空间复杂度为O(1)。

Java中用泛型的方法来实现插入排序,即可以输入不同类型的对象。我们可以继承Comparable接口。具体可以查看API文档。

实现方法:

public static <E extends Comparable<E>>void insertSort(E[] list) { for(int i=1;i<list.length;i++){for(int j=i-1;j>=0;j--){if(list[j+1].compareTo(list[j])<0){E swap=list[j];list[j]=list[j+1];list[j+1]=swap;}else break;}} }


0 0