Java排序算法解析之 选择排序
程序员文章站
2022-03-24 17:53:25
...
static void selectSort(int[] a) {
/**
* 开始遍历
*/
for (int i = 0; i < a.length; i++) {
/**
* 定义一个变量 默认变量是本组比较的第一位元素的下标
*/
int k=i;
/**
* j为当前对比元素之后的所有元素的起始下标
* 例如:
* i=0;
* j=1;
* 将a[1],a[2],a[3]...依次与a[0]比较 如果小于a[0] 则交换下标
*/
for (int j = k+1; j < a.length; j++) {
if(a[j]<a[i]) {
k=j;
}
}
/**
* 一轮比较之后 找出最小值所在位置 下标记录在k中 与第一位元素交换位置
*/
if(i!=k) {
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
/**
* 继续下次循环
*/
}
}
上一篇: 淘宝选择关键词的方法,你学会了吗