Start with an array A with elements to n-1.
Call quicksort( data, 0, data.size() - 1 ) to sort all elements from to n-1.
void quicksort( vector<int> & data, int start, int end )
{
if( start < end )
{
int boundary = partition( data, start, end, start );
quicksort( data, start, boundary-1 );
quicksort( data, boundary + 1, end );
}
}