算法学习笔记之插入排序

原理:就像打扑克牌一样,手中的牌永远是排好序的,再从牌堆最上面取过来一张,此时从右往左,依次比较手中的牌与刚取的牌的大小,如果发现比刚取的牌大的话,就将其往右移动一个位置,依次类推,直到找到合适的位置,将此牌插入进去 适用范围:小规模的排序 时间复杂度:Θ(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;
}

点赞