【插入排序】
数组前k-1个元素已经有序,如何确定第k个元素的插入位置,使得这k个元素有序。
方法1:从左到右扫描扫描这个有序子数组,直到遇到第一个大于等于a[k]的元素,然后把a[k]插在这个元素的前面。
方法2:从右到左扫描这个有序子数组,直到遇到第一个小于等于a[k]的元素,然后把a[k]插在这个元素的后面。
【希尔排序】
先将数组分组,分别对每组进行插入排序,依次减少分组数进行插入排序,最后对分组数为1,即对整个数组进行插入排序。
【代码】
【插入排序】
数组前k-1个元素已经有序,如何确定第k个元素的插入位置,使得这k个元素有序。
方法1:从左到右扫描扫描这个有序子数组,直到遇到第一个大于等于a[k]的元素,然后把a[k]插在这个元素的前面。
方法2:从右到左扫描这个有序子数组,直到遇到第一个小于等于a[k]的元素,然后把a[k]插在这个元素的后面。
【希尔排序】
先将数组分组,分别对每组进行插入排序,依次减少分组数进行插入排序,最后对分组数为1,即对整个数组进行插入排序。
【代码】