【插入排序】
數組前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,即對整個數組進行插入排序。
【代碼】