算法学习笔记之插入排序

来源:互联网 发布:网络协议指的是 编辑:程序博客网 时间:2024/05/16 16:43
原理:就像打扑克牌一样,手中的牌永远是排好序的,再从牌堆最上面取过来一张,此时从右往左,依次比较手中的牌与刚取的牌的大小,如果发现比刚取的牌大的话,就将其往右移动一个位置,依次类推,直到找到合适的位置,将此牌插入进去
适用范围:小规模的排序
时间复杂度:Θ(n^2)
C#实现:
int[] nums = new int[] { 23, 4, 63, 14, 34, 21, 391, 124, 1 };int count = nums.Length;int i;for (i = 1; i < count; i++){    int key = nums[i];    int j = i -1;    while (j >= 0 && nums[j] > key)    {        nums[j+1] = nums[j];        j--;    }     nums[j+1] = key;}



原创粉丝点击