//库函数调用快速排序:
--------------------------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
int sort(const void *a, const void *b)
{
    return *(int *)a - *(int *)b;
}
int main()
{
    int i;
    int arr[6] = {1, 3, 5, 2, 4, 6};
    qsort(arr, 6, sizeof(int),sort);
    for (i = 0; i < 6; i++)
        printf("%d ",arr[i]);
    return 0;
}


--------------------------------------------------------------------------------
//快速排序
#include<stdio.h>
void quick_sort(int s[], int l, int r)
{
    if (l < r)
    {
        int i = l, j = r, x = s[l];     //x为基数
        while (i < j)
        {
            while(i < j && s[j] >= x) // 从右向左找第一个小于x的数
                j--;
            if(i < j)
                s[i++] = s[j];

            while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数
                i++;
            if(i < j)
                s[j--] = s[i];
        }
        s[i] = x;
        quick_sort(s, l, i - 1); // 递归调用 分治思想 左边分治
        quick_sort(s, i + 1, r);    //右边分治
    }
}
int main()
{
    int a[10] = {72, 6, 57, 88, 60, 42, 83, 73, 48, 85};
    int i = 0, j = 9;
    quick_sort(a, i, j);
    for (i = 0; i < 10; i++)
        printf("%d ",a[i]);
    return 0;
}