parent
a0bd39af16
commit
b37a7241d2
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
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;
|
||||||
|
}
|
Loading…
Reference in new issue