You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
701 B
32 lines
701 B
|
|
void QuickSort(int *arr, int maxlen, int begin, int end)
|
|
{
|
|
int i, j;
|
|
if (begin < end) {
|
|
i = begin + 1;
|
|
j = end;
|
|
while (i < j) {
|
|
if(arr[i] > arr[begin]) {
|
|
swap(&arr[i], &arr[j]);
|
|
j--;
|
|
} else {
|
|
i++;
|
|
}
|
|
}
|
|
if (arr[i] >= arr[begin]) {
|
|
i--;
|
|
}
|
|
swap(&arr[begin], &arr[i]);
|
|
QuickSort(arr, maxlen, begin, i);
|
|
QuickSort(arr, maxlen, j, end);
|
|
}
|
|
}
|
|
|
|
void swap(int *a, int *b)
|
|
{
|
|
int temp;
|
|
temp = *a;
|
|
*a = *b;
|
|
*b = temp;
|
|
}
|