相关疑难解决方法(0)

为什么插入排序总是在此实现中击败合并排序?

我不明白:为什么我的插入排序实现每次跳过合并排序,对于任何大小的n

    public List<Int32> InsertionSort(List<Int32> elements, Boolean ascending = true)
    {
        for (Int32 j = 1; j < elements.Count; j++)
        {
            Int32 key = elements[j];
            Int32 i = j - 1;

            while (i >= 0 && (elements[i].CompareTo(key) > 0) == ascending)
                elements[i + 1] = elements[i--];

            elements[i + 1] = key;
        }

        return elements;
    }
Run Code Online (Sandbox Code Playgroud)
    public List<Int32> MergeSort(List<Int32> elements, Boolean ascending = true)
    {
        Sort(elements, 0, elements.Count - 1);

        return elements;
    }

    private void MergeSort(List<Int32> elements, Int32 startIndex, Int32 …
Run Code Online (Sandbox Code Playgroud)

c# algorithm mergesort insertion-sort

4
推荐指数
1
解决办法
1256
查看次数

标签 统计

algorithm ×1

c# ×1

insertion-sort ×1

mergesort ×1