插入排序法是將一個數目插入到該占據的位置的排序方法。具體實現過程是將待排序的數組分成兩部分,已排序區間和未排序區間,初始已排序區間只有一個元素。插入算法的核心思想是取未排序區間中的元素,在已排序區間中找到合適的插入位置將其插入,並保證已排序區間數據一直有序。重複這個過程,直到未排序區間中元素為空,算法結束。
插入排序法主要的迴圈有兩個變數,即i和j。每一次執行這個迴圈,就會將第i個數字放到左邊恰當的位置去。插入排序在實現過程中,對於每一個待插入的元素,從已排序區間的末尾開始比較,找到插入位置,然後將插入位置之後的元素都向右移動一個位置,最後將該元素插入到插入位置。
插入排序的時間複雜度為O(n2),空間複雜度為O(1),在處理小規模數據時比較高效,但對於大規模數據排序效率較低。