//简单选择排序:首先从第一个元素开始,和后面的每个数比较
//因为它是把i位置以后每一个元素跟i这个位置上的元素比较。
public class SimpleSelect{
public static void main(String args[]) {
int[] a = { 46, 58, 15, 45, 90, 18, 10, 62 };
int k, temp;
for (int i = 0; i < a.length; i++) {
k = i;
for (int j = i + 1; j < a.length; j++) {
if(a[j] < a[k]) { //确定第几个位置的值。把i位置以后每一个元素跟i这个位置上的元素比较。
k = j;
}
}
if(k != i) { //判断k的值是否变化,如果变化,则表示需要排序,即判断上面的循环是否执行了(k=j)
//第几个位置等待确定
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
for(i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
//直接插入排序属于稳定的排序,时间复杂性为o(n^2),空间复杂度为O(1)。
选择排序
最新推荐文章于 2024-08-05 17:33:55 发布