码迷,mamicode.com
首页 > 编程语言 > 详细

C# 插入排序

时间:2016-04-24 11:03:17      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

插入排序

技术分享

 

插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

算法步骤:

1)将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。

2)从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)

算法分析:

  平均时间复杂度:O(n²)

  空间复杂度:O(1)  (用于记录需要插入的数据)

  稳定性:稳定

以下代码仅供参考

 1      public static void Main(string[] args)
 2         {
 3             int[] arrNumber = new int[] { 3, 2, 1, 4, 5, 6 };
 4             InsertSort(arrNumber);
 5             foreach (int i in arrNumber)
 6             {
 7                 Console.WriteLine(i);
 8             }
 9             Console.ReadKey();
10         }
11         public static void InsertSort(int[] arrNumber)
12         {
13             for (int i = 1; i < arrNumber.Length; i++)
14             {
15                 int temp = arrNumber[i];
16                 int j;
17                 for (j = i; j>0&&arrNumber[j-1]>temp; j--)
18                 {
19                     arrNumber[j] = arrNumber[j - 1]; 
20                 }
21                 arrNumber[j] = temp;
22             }
23         }

 

C# 插入排序

标签:

原文地址:http://www.cnblogs.com/BrokenIce/p/5426470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!