All pastes #790808 Raw Edit

Someone

public text v1 · immutable
·published 2007-11-20 16:44 UTC
rendered paste body
int partition(int sequence[], int low, int high) {
    int lowerLimit = low - 1;
    int upperLimit = high;
    int key = sequence[high];

    while (lowerLimit < upperLimit) {
        while (sequence[++lowerLimit] < key) 
            ;

        while (key < sequence[--upperLimit] && upperLimit != low)
            ; 
        
        if (upperLimit > lowerLimit) {
            swap(&sequence[lowerLimit], &sequence[upperLimit]);
        }
    }

    swap(&sequence[lowerLimit], &sequence[high]);

    return lowerLimit;
}