int partition(int arr[], int low, int high);

void quickSort(int arr[], int low, int high)
{
    int pivotKey = partition(arr, low, high);
    quickSort(arr, low, pivotKey - 1);
    quickSort(arr, pivotKey + 1, high);
}

int partition(int arr[], int low, int high)
{
    arr[0] = arr[low];
    while (low < high)
    {
        while (low < high && arr[high] > arr[0]) high--;
        arr[low] = arr[high];
        while (low < high && arr[low] < arr[0]) low++;
        arr[high] = arr[low];
    }
    return low;
}

posted on 2011-03-29 23:17  辉夜君麻吕  阅读(177)  评论(0编辑  收藏  举报