C语言快速排序源程序

#include

void quicksort(int a[], int i, int j)
{
    int h, l, m, tmp;

    h = i;
    l = j;
    m = a[(h + l) / 2];
    while (i <= j)
    {
        while (a[i] < m) i++;
        while (a[j] > m) j--;
        if (i <= j)
        {
            tmp = a[i];
            a[i] = a[j];
            a[j] = tmp;
            i++;
            j--;
        }
    }
    if (h < j) quicksort(a, h, j);
    if (i < l) quicksort(a, i, l);
}

void main()
{
    int i, n, a[1000];

    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    quicksort(a, 0, n-1);
    for (i = 0; i< n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\r\n");
}

你可能感兴趣的:(编程)