小Z用图来说明插入排序,
就像玩扑克牌,从牌堆里一张张的抽取牌完成排序,手牌始终保持从左到右从小到大的顺序。
C#实现的代码如下:
/// <summary>
/// 插入排序
/// </summary>
/// <param name="origin"></param>
/// <returns></returns>
public static int[] InsertionSort(int[] origin)
{
for (int i = 1; i < origin.Length; i++)
{
for (int j = i; j >= 1; j--)
{
if (origin[j - 1] <= origin[j])
{
continue;
}
else
{
var temp = origin[j];
origin[j] = origin[j - 1];
origin[j - 1] = temp;
}
}
}
return origin;
}