Exemple #1
0
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);
	}
}
Exemple #2
0
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);
}
Exemple #3
0
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);
}
Exemple #4
0
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);
	}
}