首页 > 编程语言 > 详细

算法-插入排序

时间:2015-01-14 12:20:35      阅读:154      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!