马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 英俊男孩建坤 于 2021-10-20 21:08 编辑 private static void minMaxSelection(int[] a) {
int n = a.length;
for (int i = 0, j = n - 1; i < j; i++, j--) {
int min = i, max = i;
int maxValue = a[max];
for (int k = i; k <= j; k++) {
if (a[k] > a[max]) {
maxValue = a[k];
max = k;
}
else if (a[k] < a[min])
min = k;
}
swap(a, i, min);
if (a[min] == maxValue) // 这个if条件要如何理解?
swap(a, j, min);
else
swap(a, j, max);
}
}
public static void swap(int[] a,int i, int j){
int tem = a[i];
a[i] = a[j];
a[j] = tem;
}
}
这个if的条件要如何理解??? 代码中那个注释的那个 有没有大佬解释一下 |