Java基础排序—选择排序
package weekNumber4;
import java.util.Arrays;
//选择排序
public class Test6_SelectionSort {
public static void main(String[] args) {
int[] a = {3,4,1,6,7,5,3,8,9};
int[] b = method(a);
System.out.println(Arrays.toString(b));
}
public static int[] method(int[] a) {
//循环次数为找出剩余数组最小值次数
for(int i=0;i<a.length-1;i++) {
//假设a[i]为数组最小值,赋值给temp
int temp = a[i];
//即flag为最小值下标
int flag = i;
//在i之后的数组中找出最小值
for(int j=i;j<a.length-1;j++) {
//如果有比最小值更小的元素,即将更小的元素赋值给temp
//temp仍为最小值
if(a[j]<temp) {
temp = a[j];
//将比较中发现的更小的元素下标交给flag
flag = j;
}
}
//判断flag最小值下标与初始下标是否相同
//不同则发现实际最小值
//将新比较出的最小值temp即a[j]与a[i]交换位置
if(flag!=i) {
a[flag] = a[i];
a[i] = temp;
}
}
return a;
}
}