ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
```java /** * 快速排序的改进方法-小数据量转成插入排序 * <pre> * (1)对于小数组,快速排序比插入排序慢; * (2)因为递归,快速排序的sort方法会调用自己。 * </pre> * * @param <T> * @param a * @param low * @param high */ public static <T extends Comparable> void quickSortInsert(T[] a, int low, int high) { int m = 65535; if (high <= low + m) { insertSort(a, low, high); return; } int lt = low; int i = low + 1; int gt = high; T v = a[low]; while (i <= gt) { int cmp = a[i].compareTo(v); if (cmp < 0) { swap(a, lt++, i++); } else if (cmp > 0) { swap(a, i, gt--); } else { i++; } } quickSort(a, low, lt - 1); quickSort(a, gt + 1, high); } ```