首页 > 编程语言 > 详细

c#中常见的算法(插入排序)

时间:2020-07-12 15:31:08      阅读:55      评论:0      收藏:0      [点我收藏+]

插入排序:插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单的直观排序算法,他的工作原理是通过构建有序序列,对于未排序数据,在已排序列中从后向前扫描,找到相应的位置并插入

算法步骤:
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

c#中常见的算法(插入排序)

原文:https://www.cnblogs.com/m962263807/p/13288177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!