C语言快速排序

void quick(int* arr,int start,int end)
{
    int    left = start;
    int right = end;
    int mid = arr[start];
    while(left < right)
    {
        while(left < right)
        {
            if (arr[right] < mid)
            {
                arr[left++] = arr[right];
                break;
            }
            right--;
        }

        while(left < right)
        {
            if (arr[left] > mid)
            {
                arr[right--] = arr[left];
                break;
            }
            left++;
        }
    }
    arr[left] = mid;
    if (left > start)
        quick(arr,start,left-1);
    if (right < end)
        quick(arr,right+1,end);
}
原文地址:https://www.cnblogs.com/ganxiang/p/13531725.html