基于數(shù)組的插入排序

基于數(shù)組的插入排序,可以從頭開始找,也可以從尾開始找,從頭找需要兩個(gè)循環(huán)或者一個(gè)buffer,從尾找的只用一個(gè)循環(huán)就可以,寫起來相對(duì)簡單。

// small -> big, tail -> head
void insert_sort(int a[], int aLen, int num) {
    int i; 
    for (i = aLen; i > 0; i--) {
        if (a[i-1] < num) {
            a[i] = num;
            return;
        }
        else {
            a[i] = a[i - 1];
        }
    }
    a[i] = num;
}

// big -> small, head -> tail
void insert_sort(int a[], int aLen, int num) {
    int i, j;
    for (i = 0; i < aLen; i++) {
        if (num > a[i]) {
            for (j = aLen-1; j > i; j--) {
                a[j] = a[j - 1];
            }
            a[i] = num;
            break;
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容