插入排序(java)

基本思想:每步将一个待排序的记录,按其关键字值的大小插入到前面已经排序的文件中适当的位置上,直到全部插完为止。

package insertSort;

public class InsertSort {
    public int[] sort(int[] arrays) {                
        for (int i = 1; i < arrays.length; i++) {
            //
            int temp = arrays[i];            
            int j = i - 1;
            if(temp < arrays[j]){
                while(temp < arrays[j] && j > 0){
                    arrays[j+1] = arrays[j];
                    j--;
                }
            }
            arrays[j] = temp;
        }
        return arrays;
    }
    
}

没想到的是 插入排序的对100000个数排序竟然和归并排序差不多  只有  4300ms。

但是时间复杂度明明有这么高。

 

posted @ 2017-09-01 11:19  诺-诺  阅读(127)  评论(0编辑  收藏  举报