C# 插入排序详解

算法思路

⒈ 从第一个元素开始,该元素可以认为已经被排序
⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描
⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置
⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 将新元素插入到下一位置中
⒍ 重复步骤2~5
 
图解
  
使用插入排序为一列数字进行排序的过程
 
C#代码实现
为了让大家可以直接复制用 我全部贴上
private static void InsertSort(List<int> list)
        {
            for (int i = 1; i < list.Count; i++)
            {
                int inservalue = list[i];
                int insertindex = i - 1;
                while (insertindex >= 0 && inservalue < list[insertindex])
                {
                    list[insertindex + 1] = list[insertindex];
                    insertindex--;
                }
                list[insertindex + 1] = inservalue;
            }
        }

http://www.cnblogs.com/weiios/p/3933985.html

原文地址:https://www.cnblogs.com/tianciliangen/p/7489057.html