kehuadong

插入排序

#include "common.h"

void insert_sort(int* a, int size)
{
    for (int i = 1; i < size; i++)
    {
        int v = a[i];
        
        // 要插入的位置
        int j = i;

        for (int k = i - 1; k > -1 && a[k] > v; k--)
        {
            j = k;
            a[k+1] = a[j];
        }

        if (j != i)
        {
            a[j] = v;
        }
    }
}


int main()
{
    int a[10];

    rand_array(a, ASIZE(a));
    print_array(a, ASIZE(a));
    
    insert_sort(a, ASIZE(a));
    print_array(a, ASIZE(a));
}

 

posted on 2024-09-01 21:50  kehuadong  阅读(12)  评论(0)    收藏  举报

导航