排序算法原理及代码实现(c#)

1、插入排序

把第一个元素看做已排序数组放在有序数组中,从第二个元素开始,依次把无序数组元素取出和有序数组中的元素逐个比较,并放在有序数组的正确位置上。

  插入排序动画

 插入排序代码

    /// <summary>
    /// C# 插入排序 List<i>为无序数组 List<j>为有序数组 把无序数组逐个跟前值比较后放在有序数组的正确位置上
    /// </summary>
    public class InsertionSorter
    {
        public void Sort(int[] list)
        {
            for (int i = 1; i < list.Length; ++i)
            {
                int t = list[i];
                int j = i;
                while ((j > 0) && (list[j - 1] > t))
                {
                    list[j] = list[j - 1];
                    --j;
                }
                list[j] = t;
            }

        }
    }

猜你喜欢

转载自www.cnblogs.com/palebluestarrysky/p/11253299.html