您的位置:首页 > 其它

选择排序

2011-10-08 21:23 169 查看
//简单选择排序:首先从第一个元素开始,和后面的每个数比较
//因为它是把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)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: