插入排序:插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单的直观排序算法,他的工作原理是通过构建有序序列,对于未排序数据,在已排序列中从后向前扫描,找到相应的位置并插入
算法步骤:
1,将第一待排序序列第一个元素看作一个有序序列,把第二个元素到最后一个当成是未排序序列
2,从头到尾依次扫描,为排序序列,将扫描的每个元素插入到有序序列中的适当位置(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)
动图演示:
c#实现代码:
public void Sum(int[] list) {
for (int i = 0; i < list.Length; i++)
{
int sumone = list[i];
int sumtwo = i;
while (sumtwo > 0 && list[sumtwo - 1] > sumone)
{
list[sumtwo] = list[sumtwo - 1];
--sumtwo;
}
list[sumtwo] = sumone;
}
}
static void Main(string[] args)
{
int[] count = new int[] { 525, 8, 666, 33, 87, 985, 211, 520, 250 ,38};
Program po = new Program();
po.Sum(count);
for (int i = 0; i < count.Length; i++)
{
Console.WriteLine(count[i]);
}
Console.ReadKey();
}
实现结果:
转载于:https://github.com/hustcc/JS-Sorting-Algorithm
原文:https://www.cnblogs.com/m962263807/p/13288177.html