ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
```java /** * 常规快速排序的划分方法 * * @param <T> * @param a * @param low * @param high * @return */ private static <T extends Comparable> int partition(T[] a, int low, int high) { int i = low; int j = high; T p = a[low]; while (i < j) { while (i < j && (less(p, a[j]) || eq(a[j], p))) { j--; } if (i < j) { swap(a, i++, j); } while (i < j && (less(a[i], p) || eq(a[i], p))) { i++; } if (i < j) { swap(a, i, j--); } } return j; } /** * 常规快速排序的排序方法 * * @param <T> * @param a * @param low * @param high */ public static <T extends Comparable> void quickSort(T[] a, int low, int high) { int p; if (low < high) { p = partition(a, low, high); quickSort(a, low, p - 1); quickSort(a, p + 1, high); } } ```