rendered paste bodyvoid quickSort(int sequence[],int low,int high){
int pivot;
if(high>low){
swap(&sequence[(low+high)/2],&sequence[high-1]);
//Ensuremedianvalueinsequence[high]toactaspivot
if(sequence[low]>sequence[high-1]){
swap(&sequence[low],&sequence[high-1]);
}
if(sequence[low]>sequence[high]){
swap(&sequence[low],&sequence[high]);
}
if(sequence[high-1]<sequence[high]){
swap(&sequence[high-1],&sequence[high]);
}
pivot=partition(sequence,low,high);
quickSort(sequence,low,pivot-1);
quickSort(sequence,pivot+1,high);
}
}
int partition(intsequence[],intlow,inthigh){
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]);
returnlowerLimit;
}