直接插入排序算法

直接插入排序的思想是將一個數據插入到有序數據中,從而得到一個新的,個數加一的有序數組。

插入算法要把排序的數組分成兩部分,第一部分包含了這個數組的所有元素,但排除第一個元素。
而第二部分就只包含這個元素。
排序時從第一部分中按順序取一個元素,插入到第二部分中,直至取完第一部分的元素,則第二部分就爲有序數組
C語言實現:
void InsertSort(int a[], int n) {
    int i,j;
    int temp;//哨兵
    for(i=1; i<n; i++)  {
    //在無序數組中按順序取一個元素
        temp = a[i];
        //將該元素在第二部分的有序數組中進行插入
        for(j=i; j>0 && a[j-1] > temp; j--) {
            a[j] = a[j-1];
        }
        a[j] = temp;
    }
}


發佈了40 篇原創文章 · 獲贊 7 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章