/**
* 简单选择排序,先确定一次循环的最大值,找出最大值之后载置换,节省了置换的次数
* */
public class SimpleSelectSort {
public static void main(String[] args) {
SSSmethod M = new SSSmethod();
int[] data = { 4, 5, 6, 8, 1, 3, 7, 9, 2 };
int max, i, j;
for (i = 0; i < data.length; i++) {
max = i; //将当前下标定义为最大值
for (j = i + 1; j <= data.length - 1; j++) {
if (data[j] > data[max]) {
max = j; //找出最大值下标
}
}
if (i != max) { //最大值下标改变时交换
M.swap(data, i, max);
}
}
M.print(data);
}
}
class SSSmethod {
public SSSmethod() {
}
void swap(int[] a, int b, int c) {
int k;
k = a[b];
a[b] = a[c];
a[c] = k;
}
void print(int[] a) {
for (int i : a) {
System.out.print(i + "->");
}
}
}
简单选择排序
最新推荐文章于 2023-03-20 01:02:49 发布