Hi,我是哈缺氧。今天带给大家的是算神码男人系列快速排序。
思路很简单,如图所示。
代码:
public static void singScanQsot(int[] arr, int l, int r) {
if (l < r) {
int sp = l + 1;
int bigger = r;
while (sp <= bigger) {
if (arr[sp] <= arr[l]) {
sp++;
} else {
int tem = arr[sp];
arr[sp] = arr[bigger];
arr[bigger] = tem;
bigger--;
}
}
int tem = arr[bigger];
arr[bigger] = arr[l];
arr[l] = tem;
singScanQsot(arr, l, bigger - 1);
singScanQsot(arr, bigger + 1, r);
}
}