📄 quicksorter.java
字号:
public class QuickSorter implements Sorter {
Comparable[] data;
public void sort(Comparable[] data) {
this.data = data;
qsort(0, data.length - 1);
}
private void qsort(int pre, int post) {
int saved_pre = pre;
int saved_post = post;
Comparable mid = data[(pre + post) / 2];
do {
while (data[pre].compareTo(mid) < 0) {
pre++;
}
while (mid.compareTo(data[post]) < 0) {
post--;
}
if (pre <= post) {
Comparable tmp = data[pre];
data[pre] = data[post];
data[post] = tmp;
pre++;
post--;
}
} while (pre <= post);
if (saved_pre < post) {
qsort(saved_pre, post);
}
if (pre < saved_post) {
qsort(pre, saved_post);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -