package ch09;
// 快速排序
public class QuickSort {
// 划分数组
public static void partition(long arr[], int left, int right,int point) {
int leftPtr = left - 1;
int rightPtr = right - 1;
while(true) {
// 循环,比关键字小的留在左端
while(leftPtr < rightPtr && arr[++leftPtr] < point);
// 循环,比关键字大的留在右端
while(rightPtr > leftPtr && arr[--rightPtr] > point);
if (leftPtr >= rightPtr) {
return;
}else {
long temp = arr[leftPtr];
arr[leftPtr] = arr[rightPtr];
arr[rightPtr] = temp;
}
}
}
}