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

算法-插入排序

时间:2015-01-14 12:23:07      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

对于插入排序,我们可以理解为打扑克牌时候手上的牌从小到大排序,取一个然后插入到合适位置保持顺序,从而我们可以很明显的感受到对于少量元素,这种排序算法是比较有效的。

原理图如下:

技术分享

实现源码:

技术分享
 public static void GetSortFor(int[] nums)
        {
            for (int i = 1; i < nums.Length; i++)
            {
                int key = nums[i];
                int pre = i;
                for (int j = i-1; j>=0; j--)
                {
                    if (nums[j] > key)
                    {
                        nums[pre] = nums[j];
                        pre = pre - 1;
                    }
                }
                nums[pre] = key; 
            }
        }
For循环插入排序
技术分享
public static void GetSort(int[] nums)
        {
            for (int i = 1; i < nums.Length; i++)
            {
                int key = nums[i];
                int pre = i - 1;
                while (pre > -1 && nums[pre] > key)
                {
                    nums[pre + 1] = nums[pre];
                    pre = pre - 1;
                }
                nums[pre + 1] = key;
            } 
        }
While循环插入排序

 

算法-插入排序

标签:

原文地址:http://www.cnblogs.com/qyzBlog/p/4223474.html

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