package day02_code.heima.algorithm.sort.selection;
import java.util.Arrays;
public abstract class Selection {
public static void sort(Comparable[] a) {
/*外层循环体现一共执行多少次*/
for (int i = 0; i < a.length - 1; i++) {
/*对于单次循环,设置最小值处索引minIndex,假设每次比较的第一位是最小值*/
int minIndex = i;
/*从i后面一位开始和i进行比较
* j<a.length表示比较到最后一位为止*/
for (int j = i + 1; j < a.length; j++) {
/*比较最小处索引的值和j处索引值的大小*/
if (greater(a[minIndex], a[j])) {
minIndex = j;
}
}
exchange(a, i, minIndex);
}
}
public static boolean greater(Comparable a, Comparable b) {
return a.compareTo(b) > 0;
}
public static void exchange(Comparable[] a, int i, int j) {
Comparable temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
public static void main(String[] args) {
Comparable[] a = {4, 5, 3, 2, 1};
Selection.sort(a);
System.out.println(Arrays.toString(a));
}
}
JAVA实现选择排序并测试
最新推荐文章于 2021-05-07 14:26:39 发布
该博客详细介绍了选择排序的基本原理和Java实现。通过`Selection`抽象类中的`sort`方法,展示了如何在外层循环中执行多次比较,找到最小值并交换位置。此外,还提供了辅助方法`greater`用于比较元素和`exchange`用于交换元素位置。示例代码展示了对一个整数数组的排序过程。
646

被折叠的 条评论
为什么被折叠?



