📄 flexsorter.java
字号:
package chapter1;
public class FlexSorter {
public static void sort(Object[] A, Comparable comp) {
sort(A, A.length, comp);
}
//选择排序算法
public static void sort(Object[] A, int stop, Comparable comp) {
for (int i = 0; i < stop; i++)
swap(A, i, findMin(A, i, stop, comp));
}
//返回A[start],A[start+1],...,A[stop-1]中最小元素的序号
private static int findMin(Object[] A, int start, int stop, Comparable comp) {
int min = start;
for (int i = start + 1; i < stop; i++) {
if (comp.compare(A[i], A[min]) < 0)
min = i;
}
return min;
}
// 交换 A[pos1] with A[pos2]
private static void swap(Object[] A, int pos1, int pos2) {
Object temp = A[pos1];
A[pos1] = A[pos2];
A[pos2] = temp;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -