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