在看《算法》的时候遇到一个题目,要求生成一个无序的字符串。 看答案有快排的思想在里面
private static void best(int[] a, int lo, int hi) {
// precondition: a[lo..hi] contains keys lo to hi, in order
for (int i = lo; i <= hi; i++)
assert a[i] == i;
if (hi <= lo) return;
int mid = lo + (hi - lo) / 2;
best(a, lo, mid-1);
best(a, mid+1, hi);
exch(a, lo, mid);
}
via:http://algs4.cs.princeton.edu/23quicksort/QuickBest.java.html
网友评论