选择排序
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)。