1. 程式人生 > >快速排序 C實現

快速排序 C實現

void QuickSort(int *nums, int left, int right)
{
    int i = left;
    int j = right;

    int key = nums[left];

    if(left > right)
    {
        return;
    }

    while(i < j)
    {
        while(key < nums[j] && i < j)
            {
                j--;
            }
            nums[i] = nums[j];
        while(key > nums[i] && i < j)
            {
                i++;
            }
            nums[j] = nums[i];
    }
    nums[i] = key;
    QuickSort(p, left, i - 1);
    QuickSort(p, i + 1, right);
}