static void quickSort(int startIdx, int endIdx, unsigned char *values){ if(startIdx<endIdx){ int pivotIdx = startIdx; quickSortPartition(startIdx, endIdx, &pivotIdx, values); quickSort(startIdx,pivotIdx-1,values); quickSort(pivotIdx+1,endIdx,values); } }
void quickSort(std::vector<int> & V, int start, int end){ if( start >= end) return; int mid = quickSortPartition(V, start, end); quickSort(V, start, mid -1 ); quickSort(V, mid + 1, end); }
void ProblemCommunicator :: quickSortCommMap( IntArray &map, int l, int r, int ( ProblemCommunicator :: *cmp ) (int, int) ) { if ( r <= l ) { return; } int i = quickSortPartition(map, l, r, cmp); quickSortCommMap(map, l, i - 1, cmp); quickSortCommMap(map, i + 1, r, cmp); }
void quickSort(int *array, int left, int right) { if(right - left <= 0) return; int p = quickSortPartition(array, left, right); if(right-left <= GRANULARITY ) { quickSort( array , left , p - 1); quickSort( array , p+1 , right); } else { Stack_Push( &S , left , p - 1); Stack_Push( &S , p+1 , right); } }