插入排序(C语言实现)

#include <stdio.h>
#include <string.h>

#define LEN 20
int a[LEN];
int n;

void insertion_sort(int n)
{
    
    
        int i, j, key;
        for(j = 1; j < n; ++j) {
    
    
                key = a[j];
                i = j - 1;
                while(i >= 0 && a[i] > key) {
    
    
                        a[i+1] = a[i];
                        --i;
                }
                a[i+1] = key;
        }
        for(int k = 0; k < n; k++)
                printf("%d ", a[k]);
        printf("\n");
}

int main(void)
{
    
    
        memset(a, 0, sizeof(a));
        scanf("%d", &n);
        for(int i = 0; i < n; i++)
                scanf("%d", &a[i]);
        insertion_sort(n);
        return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_18431031/article/details/105974216