Arrays.sort和Collection.sort分别使用什么排序来实现的

Arrays.sort是插入排序+快速排序+归并排序

在这里插入图片描述
具不具备结构是指连续性好不好

Collection.sort是合并排序+Timesort


public static <T> void sort(T[] a, Comparator<? super T> c) {
    
    
    if (c == null) {
    
    
        sort(a);
    } else {
    
    
        if (LegacyMergeSort.userRequested)
            legacyMergeSort(a, c);
        else
            TimSort.sort(a, 0, a.length, c, null, 0, 0);
    }
}

如果LegacyMergeSort.userRequested为true执行归并排序,为False执行Timesort。

Timsort原理介绍(Timesort是合并排序+插入排序)

猜你喜欢

转载自blog.csdn.net/weixin_41699562/article/details/104190117